Comment utiliser le SHA1CryptoServiceProvider()
sur un fichier pour créer une somme de contrôle SHA1 du fichier?
Réponses
Trop de publicités?
mgbowen
Points
4952
using (FileStream fs = new FileStream(@"C:\file\location", FileMode.Open))
using (BufferedStream bs = new BufferedStream(fs))
{
using (SHA1Managed sha1 = new SHA1Managed())
{
byte[] hash = sha1.ComputeHash(bs);
StringBuilder formatted = new StringBuilder(2 * hash.Length);
foreach (byte b in hash)
{
formatted.AppendFormat("{0:X2}", b);
}
}
}
formatted
contient la représentation sous forme de chaîne du hachage SHA-1. En outre, en utilisant un FileStream
au lieu d’un tampon d’octets, ComputeHash
calcule le hachage en morceaux, de sorte que vous n’aurez pas à charger le fichier entier en une seule fois, ce qui est utile pour gros fichiers.
Ben Lakey
Points
5454