Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/08/2010, 11:59
amtzva
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Ayuda - SHA1 y MD5 codificación de caracteres incorrecto

Cita:
Iniciado por xdrtas Ver Mensaje
Hola de nuevo a todos, ya resolví el problema, les dejo la solución por si a alguno de ustedes les llega a pasar lo mismo que a mi.

Al utilizar la función HASHBYTES con nvarchar el resultado se transforma a caracteres orientales porque el valor devuelto por HASHBYTES comienza con "0x".(Sin las comillas).

Asi que guardé el valor resultante de la función HASHBYTES en un varbinary para probar y luego lo transformé con la función CONVERT a nvarchar y listo.

Les dejo el ejemplo, (aunque aqui ya no uso varbinary, lo guardo directamente en una variable nvarchar transformando primero la cadena):

DECLARE @hash nvarchar(64)
SET @hash = CONVERT(nvarchar(64),HASHBYTES('SHA1','cualquierte xto'),2)
SELECT @hash as Resultado

Resultado: 1216BC84EACC1296FC3C81791807227A773F0CD1

El "2" en la función CONVERT lo que hace es quitar los dos primeros caracteres y el resto lo guarda como caracteres "normales".
Espero que les ayude!

Amigo, veo que tienes experiencia con el uso del hashbytes, quisiera ver si me puedes apoyar para hacer lo siguiente:
Necesito hacer un hashbatyes a todo el contenido de una tabla, la tabla puede tener "n" campos con diferentes tipos tipos de datos.
De antemano agradezco tu tiempo y tus aportes

Atentamente,
Adán Martínez