上传者: 38334677
|
上传时间: 2022-06-11 18:06:10
|
文件大小: 7KB
|
文件类型: ZIP
Fletcher 的校验和旨在提供与 CRC 几乎相同的错误校验能力,但软件实现速度更快。这不是加密安全校验和,它仅用于检查数据的完整性而不是真实性。
算法专家
该算法在软件中运行比大多数 CRC 更快。这是因为 CRC 算法最初设计为易于在硬件中实现,但不一定在软件中实现。Fletcher Checksum 专门设计用于在软件中实现。
算法缺点
此校验和算法确实无法0xFF 区分0x00. 这意味着所有位设置为 1 的数据块将具有与所有位设置为 0 的数据块完全相同的校验和。这是因为算法使用补码数学。
Fletcher 的校验和在检测数据中的位错误方面不如具有良好选择多项式的 CRC 好。
如何使用
如果你有一个完整的数据块,你想得到校验和,你可以使用 calc 函数([ calc_fletcher16]、[ calc_fletcher32]、[ calc_fletcher64])在单个函数调用中获取校验和。
如果您以块的形式获取数据,则可以创建一个 [ Fletcher] 对象([ Fletcher16]、[ Fletcher32]、[ Fletcher64])来管理数据