Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como encripto con AES_ENCRYPT

Estas en el tema de como encripto con AES_ENCRYPT en el foro de Mysql en Foros del Web. Bueno tengo una pregunta alomejor un poco tonta.. Como puedo encriptar un campo con todos los registros existentes. Ejemplo tengo una tabla con los datos ...
  #1 (permalink)  
Antiguo 25/11/2008, 18:36
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 0
como encripto con AES_ENCRYPT

Bueno tengo una pregunta alomejor un poco tonta..

Como puedo encriptar un campo con todos los registros existentes.

Ejemplo tengo una tabla con los datos usuario y contraseña (10 registros en total ), quiero hacer una query que me encripte todos los registros que se encuentran en la campo contraseña.

Porfavor ayuda. ( los unicos ejemplos que he visto son sobre los INSERT)

Deantamano gracias y disculpen las molestias
  #2 (permalink)  
Antiguo 26/11/2008, 02:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: como encripto con AES_ENCRYPT

Lo que pides es, creo, fácil y tan fácil como insertar: en realidad consiste en actualizar; pero me temo que tienes otro problemilla, la naturaleza del campo donde tienes la contraseña. Probablemente se trata de un VARCHAR, y ahí no deberás incluir una cadena encriptada. El manual recomienda campos de tipo blob o varbinary. Por tanto, crea primero un campo de tipo blob y llámalo, por ej., contrasena2. Ahora haces un UPDATE:

UPDATE tutabla SET contrasena2 = AES_ENCRYPT(contrasena, 'tuclavedeencriptacion')

y ya tendrás en ese campo blob las contraseñas encriptadas.

Luego podrías eliminar ese campo contrasena y renombrar contrasena2 como contrasena. Pero antes de hacerlo, te recomiendo un select para ver que todo está bien:

SELECT AES_DECRYPT(contrasena2, 'tuclavedeencriptacion') FROM tutabla

Si todo está bien, borras ese campo contrasena y renombras contrasena2 llamándolo contrasena.

Creo que con eso conseguirás lo que pides.
  #3 (permalink)  
Antiguo 26/11/2008, 10:57
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: como encripto con AES_ENCRYPT

Excelente respuesta , ya lo habia intentado de esa manera pero mi query lo habia complicado mucho y no me salio. Muchas graciaspor tú respuesta. Ya me salio te lo agradesco
  #4 (permalink)  
Antiguo 25/07/2009, 04:29
 
Fecha de Ingreso: abril-2009
Ubicación: Bogota
Mensajes: 18
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: como encripto con AES_ENCRYPT

Muchas gracias por el aporte.
Pero me queda la duda de que pasa si lo hago con el campo varchar, cual seria el inconveniente.
Mil gracias de antemano.

Mi problema esta en que necesito encriptar 4 campos de una tabla, son de tipo VARCHAR y los pase a tipo BLOB como ud recomendo
pero cuando trate de indexarlos antes de encritarlos me saco error 1170 que dice que tiene que ver algo asi con el largo del inidice
pero le introduje varios valores a dicho indice y siempre me saco el mismo error.
Mi pregunta es, como debo hacerlo ya que los campos a encriptar son los mismos que voy a usar para hacer las busquedas.

Mil gracias por su colaboracion.

Última edición por GUST_UNAD; 25/07/2009 a las 05:53
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:50.