Cum pot calcula CRC32 dintr-un șir

Cum pot calcula CRC32 (Suma de verificare a redundanței ciclice) a unui șir în .NET?

0
fr hi bn

1 răspunsuri

Tipul ăsta pare să aibă răspunsul tău.

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

Și în cazul în care blogul va dispărea vreodată sau va rupe adresa URL, iată linkul github:

https://github. com/damieng/DamienGKit/pată de cerneală/master/CSharp/DamienG.Library/Securitate/Criptografie/Crc32.cs


Utilizarea clasei Crc32 din postarea pe blog:

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
adăugat
Există un pachet NuGet care se va ocupa de acest lucru pentru dvs. Install-Package Crc32.NET. De fapt, ea implementează algoritmul (și se pretinde a fi mult mai rapid decât alte alternative). Puteți rula comanda NuGet de mai sus sau puteți găsi sursa pe GitHub la github.com/force-net/ Crc32.NET . În mod normal, nu includ dependențe pentru fiecare lucru mic, dar acest lucru pare a fi specializat și rezonabil.
adăugat autor Pete, sursa
Acest cod este acum spart. Clasa Crc32 nu are un constructor de bază pe care îl solicită eșantionul de cod.
adăugat autor im1dermike, sursa
Răspuns bun și codul la acea legătură pare solid. Mulțumesc Pete!
adăugat autor Erick Brown, sursa