2008-08-11 31 views

Trả lời

21

Anh chàng này dường như có câu trả lời của bạn.

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

Và trong trường hợp blog bao giờ biến mất hoặc phá vỡ các url, đây là liên kết github:

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


Cách sử dụng của Lớp Crc32 từ bài đăng trên 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

Câu trả lời hay và mã ở liên kết đó trông chắc chắn. Cảm ơn Pete! –

+0

Mã này hiện đã bị hỏng. Lớp 'Crc32' không có hàm tạo cơ bản mà mã lệnh của nó gọi. – im1dermike

+1

Có một gói NuGet sẽ xử lý việc này cho bạn Cài đặt gói Crc32.NET. Nó thực sự thực hiện các thuật toán (và purports được nhanh hơn đáng kể so với các lựa chọn thay thế khác). Bạn có thể chạy lệnh NuGet ở trên hoặc tìm nguồn trên GitHub tại https://github.com/force-net/Crc32.NET. Tôi thường không bao gồm phụ thuộc cho mọi điều nhỏ nhặt, nhưng điều này có vẻ chuyên biệt và hợp lý. – Pete

Các vấn đề liên quan