10/06/2009, 20:11
|
| | | Fecha de Ingreso: junio-2008 Ubicación: Venezuela
Mensajes: 97
Antigüedad: 16 años, 7 meses Puntos: 13 | |
Respuesta: Ayuda - SHA1 y MD5 codificación de caracteres incorrecto 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! |