首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有最大的“安全”数据量可以散列?

是否有最大的“安全”数据量可以散列?
EN

Stack Overflow用户
提问于 2016-10-12 10:13:55
回答 2查看 48关注 0票数 0

我想发送一些数据到一个设备,我需要验证一致性。不会有攻击者,可能只是硬件故障。

在我的例子中,最大数据大小大约为256 my。

我对小内存占用的算法和小规模的哈希感兴趣。比如CRC8,CRC16,CRC32,还有MD5或SHA1都可以使用。SHA2散列对我来说太大了。

对于实际的数据大小限制有什么一般规则吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-12 14:33:26

您需要了解通道的错误特性,以及您的应用程序可以接受的错误阳性率是什么。有多少次出现错误?改变的位数的分布是什么?您是否偶尔会有一位翻转,或者当出现错误时,会有很多位翻转或整条消息被转发?翻转后的比特是否彼此靠近,即错误是否发生在突发事件中?

通常,您不会使用加密散列,因为与CRC相比,计算它所花费的额外时间将不会给您带来任何好处。您应该使用CRC或其他哈希,例如Xx散列家族中的一个。它们非常快,并且尽可能好地使假阳性的概率很低。CRC具有防止突发错误的特殊属性,即几个相邻或几乎相邻的位翻转。

票数 0
EN

Stack Overflow用户

发布于 2016-10-12 10:44:42

不是的。对于所有意图和目的而言,sha 1散列都是全局唯一的,并且算法不会对非常大的输入进行分解。如果您更改了一位,则哈希应该会更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39996062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档