วิธีที่เร็วที่สุดในการสร้างการตรวจสอบสำหรับไฟล์ขนาดใหญ่ใน C # คืออะไร
ฉันต้องซิงค์ไฟล์ขนาดใหญ่ในเครื่องบางเครื่อง ไฟล์สามารถมีขนาดสูงสุด 6GB การซิงค์จะดำเนินการด้วยตนเองทุกสองสามสัปดาห์ ฉันไม่สามารถนำชื่อไฟล์มาพิจารณาเพราะพวกเขาสามารถเปลี่ยนแปลงได้ตลอดเวลา แผนของฉันคือสร้าง checksums บนพีซีปลายทางและบนพีซีต้นทางแล้วคัดลอกไฟล์ทั้งหมดที่มี checksum ซึ่งไม่ได้อยู่ในปลายทางไปยังปลายทางแล้ว ความพยายามครั้งแรกของฉันคือสิ่งนี้: using System.IO; using System.Security.Cryptography; private static string GetChecksum(string file) { using (FileStream stream = File.OpenRead(file)) { SHA256Managed sha = new SHA256Managed(); byte[] checksum = sha.ComputeHash(stream); return BitConverter.ToString(checksum).Replace("-", String.Empty); } } ปัญหาคือรันไทม์: - ด้วย SHA256 พร้อมไฟล์ 1,6 GB -> 20 …