sql server - hashbytes - Generar cadena hash MD5 con T-SQL
sha256 sql server (6)
¿Hay alguna forma de generar una cadena Hash MD5 de tipo varchar (32) sin usar fn_varbintohexstr
SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes(''MD5'', ''[email protected]'')), 3, 32)
Por lo tanto, podría usarse dentro de una vista con SCHEMABINDING
Ninguna de las otras respuestas funcionó para mí. Tenga en cuenta que SQL Server dará resultados diferentes si transfiere una cadena codificada en lugar de alimentarla desde una columna en su conjunto de resultados. A continuación se muestra la magia que funcionó para mí para dar una combinación perfecta entre SQL Server y MySql
select LOWER(CONVERT(VARCHAR(32), HashBytes(''MD5'', CONVERT(varchar, EmailAddress)), 2)) from ...
Para datos de hasta 8000 caracteres, use:
CONVERT(VARCHAR(32), HashBytes(''MD5'', ''[email protected]''), 2)
Para datos binarios (sin el límite de 8000 bytes) use:
CONVERT(VARCHAR(32), master.sys.fn_repl_hash_binary(@IMG_PATH), 2)
Solución:
SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES(''MD5'',''your text'')),3,32)
Usa HashBytes
SELECT HashBytes(''MD5'', ''[email protected]'')
Eso le dará 0xF53BD08920E5D25809DF2563EF9C52B6
-
SELECT CONVERT(NVARCHAR(32),HashBytes(''MD5'', ''[email protected]''),2)
Eso le dará F53BD08920E5D25809DF2563EF9C52B6
prueba esto:
select SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES(''MD5'', ''[email protected]'' )),3,32)
CONVERT(VARCHAR(32), HashBytes(''MD5'', ''[email protected]''), 2)