est-il possible de générer un hachage SHA-256 d'une chaîne d'une procédure stockée dans SQL Server 2008? P>
Pour des raisons de déploiement, je préférerais cela dans TSQL. P>
3 Réponses :
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Salut Mitch merci pour ça. Pour des raisons de déploiement, je préférerais cela dans TSQL. Je vais clarifier.
Cela va être considérablement plus difficile à écrire et moins bien performer moins bien dans SQL ...
Juste un FYI, SQL 2012 Ajout de la prise en charge de SHA-256. Vous venez de passer Sha_256 comme algorithme.
Le lien TSQL n'est plus utilisable; Il a un accès restreint sans toute façon pour enregistrer de nouveaux comptes d'utilisateurs. SQLBLOG.com/msgs/default.aspx?MessageID=29 Cependant, vous pouvez Trouvez l'article original sur web.archive.org/web/20171003225612/http://sqlblog.com:80/blo gs / ...
Cela doit-il être SHA-256. Il y a une fonction SQL (bien sûr, cela dépend de si vous voulez simplement une représentation de hachage d'une valeur ou de stocker de manière sécurisable des données précieuses.) em> p> hashbytes () code> qui peut faire SHA, SHA1, MD5, etc. p>
Ajouté au cas où (comme moi) Je cherchais une fonction de hachage native dans SQL Server et surviennent à cette question. Cela impliquerait que CLR est le seul moyen de fournir une fonction de hachage.
Exemple de CLR: Stackoverflow.com/questions/12416249/... < / a>
SHA256, SHA512 dans SQL Server 2008 ou SQL Server 2005!
Vous pouvez faire si vous utilisez FnenCryptSha.dll !! P>
USE [master] GO EXEC sp_configure 'clr enabled', 1 GO RECONFIGURE GO CREATE ASSEMBLY InnoDll FROM 'C:\sqltip\fnEnCryptSHA.dll' WITH PERMISSION_SET= SAFE GO CREATE FUNCTION dbo.fnGetStringToSha256 (@Str nvarchar(1000)) RETURNS varbinary(8000) AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetStringToSha256 GO CREATE FUNCTION dbo.fnGetBinaryToSha256 (@Str varbinary(8000)) RETURNS varbinary(8000) AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetBinaryToSha256 GO SELECT dbo.fnGetStringToSha256('abc') SELECT dbo.fnGetBinaryToSha256(0x9F04F41A848514162050E3D68C1A7ABB441DC2B5)
Où pouvez-vous trouver cette DLL?
Je n'ai pas réalisé que vous pouviez appeler une .dll si facilement via SQL Server. Vous pouvez également jeter votre propre méthode de hachage SHA-256 dans une classe / .dll et l'appeler via SQL. Très cool, merci pour la réponse.