校验和
编辑基本上,校验和是根据原始数据计算的值,能够检测数据中的某些错误。 根据校验和计算规则的复杂程度,可以识别或更正一些错误。
校验和通常用于验证两个数据集是否匹配或单个数据集是否内部一致。 它们有不同的应用领域:
- 数据传输:根据原始数据计算出的校验和由发送器随数据传输。 接收方现在使用相同的过程从接收到的数据中计算校验和并将其与发送方传输的校验和进行比较。 如果校验和都不同,则存在传输错误。 如果两个校验和相同,则消息可能已正确传输。
- 数据备份:这里将保存前数据的校试和与重读后数据的校试和进行比较。
- 手动数据输入:手动输入数据时,校验和是检测输入错误的条目的一部分。
- 数据完整性:使用特殊的加密哈希函数(例如 SHA-256 方法)来确保自校验和计算以来数据未被修改。
简单程序
编辑校验和的一个简单示例是校验和或奇偶校验位。 但是,这些方法无法检测例如“转置数字”。 Fletcher 的校验和计算起来有点困难,但它也提供了更高的安全性。
使用数据加权平均值的校试和方法对于随机更改(例如字符交换、重复或遗漏)非常安全。 例如,它们与 ISBN(国际标准书号)和 EAN 代码一起使用。
更复杂的程序
编辑术语“校验和”也用于更复杂的测试方法,这些方法执行更复杂的计算,而不是简单地对数据值求和,例如循环冗余校验 (CRC)。 循环冗余校验使用多项式除法而不是简单的加法,并且通常比原始校验和更有效地检测随机错误。
尽管传统的校试和可用于防止无意的更改,但它无法防止有意的数据更改(操纵),因为它很容易规避。 因此,通常需要使用密码学上更强大的算法,例如单向哈希函数(例如安全哈希算法),而不是简单的校验和过程。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/347405/