Existe-t-il un moyen de générer une chaîne de hachage MD5 de type varchar (32) sans utiliser fn_varbintohexstr
SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', '[email protected]')), 3, 32)
Ainsi, il pourrait être utilisé dans une vue avec SCHEMABINDING
sql-server
tsql
sql-server-2008
Codeur de chagrin
la source
la source
Réponses:
la source
Utiliser HashBytes
Cela vous donnera 0xF53BD08920E5D25809DF2563EF9C52B6
-
Cela vous donnera F53BD08920E5D25809DF2563EF9C52B6
la source
Solution:
la source
Aucune des autres réponses n'a fonctionné pour moi. Notez que SQL Server donnera des résultats différents si vous transmettez une chaîne codée en dur au lieu de l'alimenter à partir d'une colonne de votre jeu de résultats. Voici la magie qui a fonctionné pour moi pour donner une correspondance parfaite entre SQL Server et MySql
la source
LOWER()
n'est nécessaire que si elle est sensible à la casse.MD5
Hash identique à laMD5()
fonction dePostgresql
. Je me demandais pourquoi lesMD5
hashs diffèrent dePython
etPostgresql
. Merci pour la recette ..Pour les données jusqu'à 8000 caractères, utilisez:
Demo
Pour les données binaires (sans la limite de 8000 octets), utilisez:
Demo
la source
essaye ça:
la source
la source
travaille pour moi.
la source
Vous n'avez pas dit explicitement que vous vouliez que la chaîne soit hexadécimale; si vous êtes ouvert au codage de chaîne de base 64 plus efficace en termes d'espace et que vous utilisez SQL Server 2016 ou version ultérieure, voici une alternative:
Cela produit:
la source