107 votes

Hachage avec l'algorithme SHA1 en C#

Je veux hacher donné byte[] en utilisant SHA1 Algorithme avec l'utilisation de SHA1Managed .
Le site byte[] Le hash viendra du test unitaire.
Le hachage attendu est 0d71ee4472658cd5874c5578410a9d8611fc9aef (sensible à la casse).

Comment puis-je y parvenir ?

public string Hash(byte [] temp)
{
    using (SHA1Managed sha1 = new SHA1Managed())
    {

    }
}

4voto

oPless Points 75

Je vais jeter mon chapeau ici :

(en tant que partie d'une classe statique, comme ce snippet est deux extensions)

//hex encoding of the hash, in uppercase.
public static string Sha1Hash (this string str)
{
    byte[] data = UTF8Encoding.UTF8.GetBytes (str);
    data = data.Sha1Hash ();
    return BitConverter.ToString (data).Replace ("-", "");
}
// Do the actual hashing
public static byte[] Sha1Hash (this byte[] data)
{
    using (SHA1Managed sha1 = new SHA1Managed ()) {
    return sha1.ComputeHash (data);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X