2008-08-11 22 views

Respuesta

21

Este tipo parece tener tu respuesta.

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

Y en caso de que el blog nunca desaparece o se rompe la url, aquí está el enlace github:

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


uso de la Clase Crc32 desde la entrada del 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

Buena respuesta y el código en ese enlace parece sólido. Gracias Pete! –

+0

Este código ahora está roto, parecería. La clase 'Crc32' no tiene un constructor base que su código muestrea. – im1dermike

+1

Hay un paquete NuGet que manejará esto para usted Install-Package Crc32.NET. En realidad implementa el algoritmo (y pretende ser considerablemente más rápido que otras alternativas). Puede ejecutar el comando NuGet anterior o encontrar el origen en GitHub en https://github.com/force-net/Crc32.NET. Normalmente no incluyo dependencias para cada pequeña cosa, pero esto parece especializado y razonable. – Pete

Cuestiones relacionadas