19、C 中的校验和与哈希:原理、算法及项目实践

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 校验和不一致的原因

  • 数据更改 :数据被修改却未通知,新数据会产生与预期不同的校验和,可能是人为失误或故意修改。
  • 原始校验和生成错误 :软件漏洞、硬件错误或传输存储过程中的问题,可能导致不同系统对相同输入生成不同结果。
  • 使用错误文件 :两个文件名和扩展名相同的文件可能包含不同数据,使用自动化文件检查代码或选错文件都可能导致这种情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值