dimanche 16 août 2009

Code T-SQL pour hacher une chaîne de caractères

Le code qui suit (pour Microsoft SQL Server 2005 et supérieur) permet de hacher un texte selon les algorithmes de hachage suivants : MD2, MD4, MD5, SHA ou SHA1.

Voici le code dans un exemple d'utilisation (si nécessaire, remplacez SHA1 par l'algorithme désiré) :
SELECT SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('SHA1', 'MotDePasse')), 3, 40)
Le format de données de la sortie de "HashBytes()" est binaire (hexadécimal). Dans cet exemple, les données binaires sont converties en texte avec la fonction "fn_varbintohexstr()" pour une utilisation directe comme chaîne de caractères. Les 2 premiers caractères (0x) qui déterminent le format hexadécimal sont aussi retirés du résultat avec "SUBSTRING()".

Aucun commentaire:

Enregistrer un commentaire