2010-12-14 117 views
0

J'ai besoin d'un exemple de code pour C#, de la façon de générer un hachage en utilisant SHA512 en utilisant un sel aléatoire et pour n nombre d'itérations? En outre, un exemple de code de vérification de hachage créé par la méthode ci-dessus.Exemple d'utilisation de plusieurs itérations pour SHA512

+0

http://msdn.microsoft.com/fr-fr/library/system.security.cryptography.sha512.aspx – Incognito

Répondre

0

Checkout ce link, il a le code pour le salage et l'utilisation d'autres hachages autre que sha512 et est libéralement commenté.

Pour refrapper le hachage tout ce que vous auriez à faire est d'abord calculer la chaîne de hachage, puis utilisez Byte pour obtenir une chaîne hexadécimale que vous pourriez alors hacher à nouveau.

+1

Le lien donné a une implémentation très détaillée, mais il ne mentionne pas l'utilisation de plusieurs itérations pour le algorithme de hachage. Pouvez-vous donner un exemple d'utilisation de la même logique de hachage pour plusieurs itérations? – EndlessSpace

+0

Pour plusieurs itérations, il semble que vous vouliez utiliser quelque chose comme [PBKDF2] (http://tools.ietf.org/html/rfc2898#section-5.2). Il ne devrait pas être difficile de modifier l'exemple ci-dessus pour correspondre à l'algorithme décrit dans la RFC. – Mike

+0

@Mike: Le framework .NET est livré avec une implémentation de PBKDF2 intégrée, et il est * très * facile à utiliser (bien qu'il ne supporte que HMACSHA1): http://msdn.microsoft.com/en-us/library/ system.security.cryptography.rfc2898derivebytes.aspx – LukeH

0

Ne sais pas ce que vous entendez par "vérifier", mais System.Security.Cryptography.SHA512 fait ce que vous voulez. Notez que l'implémentation de .NET n'est pas validée par FIPS, donc si vos clients ont activé le mode compilant FIPS, votre programme ne fonctionnera pas.