C# 中的校验和与哈希:原理、算法及项目实践
1. 校验和概述
校验和是用于验证数据完整性的重要工具。通过以下代码可以计算文件的校验和:
using var stream = File.OpenRead("TestFile.txt");
// Compute the Checksum of the file
byte[] checksum = md5.ComputeHash(stream);
// Convert the byte array to base64
string base64Hash = Convert.ToBase64String(checksum);
// Write to the console
Console.WriteLine(base64Hash);
// Output: 0O7beZWE2FD92AL9PCeuNA==
通常情况下,多次运行上述代码得到的校验和是相同的,但也存在校验和不一致的情况。
1.1 校验和不一致的原因
- 数据更改 :数据被修改却未通知,新数据会产生与预期不同的校验和,可能是人为失误或故意修改。
- 原始校验和生成错误 :软件漏洞、硬件错误或传输存储过程中的问题,可能导致不同系统对相同输入生成不同结果。
- 使用错误文件 :两个文件名和扩展名相同的文件可能包含不同数据,使用自动化文件检查代码或选错文件都可能导致这种情况。
超级会员免费看
订阅专栏 解锁全文
1143

被折叠的 条评论
为什么被折叠?



