2008-08-11 20 views

Antwort

21

Dieser Typ scheint Ihre Antwort zu haben.

http://damieng.com/blog/2006/08/08/Calculating_CRC32_in_C_and_NET

Und falls jemals das Blog weggeht oder die URL bricht, ist hier die Github Link:

https://github.com/damieng/DamienGKit/blob/master/CSharp/DamienG.Library/Security/Cryptography/Crc32.cs


Nutzung des Crc32 Klasse aus dem Blogpost:

Crc32 crc32 = new Crc32(); 
String hash = String.Empty; 

using (FileStream fs = File.Open("c:\\myfile.txt", FileMode.Open)) 
    foreach (byte b in crc32.ComputeHash(fs)) hash += b.ToString("x2").ToLower(); 

Console.WriteLine("CRC-32 is {0}", hash); 
+0

Gute Antwort und der Code bei diesem Link sieht solide aus. Danke Pete! –

+0

Dieser Code ist jetzt gebrochen, es würde scheinen. Die 'Crc32'-Klasse hat keinen Basiskonstruktor, den sein Codebeispiel aufruft. – im1dermike

+1

Es gibt ein NuGet-Paket, das dies für Sie Install-Package Crc32.NET handhaben wird. Es implementiert tatsächlich den Algorithmus (und soll wesentlich schneller sein als andere Alternativen). Sie können den obigen NuGet-Befehl ausführen oder die Quelle auf GitHub unter https://github.com/force-net/Crc32.NET finden. Ich bin normalerweise nicht für die Aufnahme von Abhängigkeiten für jede Kleinigkeit, aber das scheint spezialisiert und vernünftig. – Pete

Verwandte Themen