繁体   English   中英

SHA-512输入字符串的长度影响?

[英]SHA-512 Length of the input string impact ?

我正在实施一种方法来快速查找数据仓库源中的更改。

经过几次尝试,我们发现对给定表的所有属性进行哈希处理并将其与目标进行比较是最有效的比较方法之一。

然而,对我们来说不可忽视的问题是碰撞风险。 因为我需要100%信任我的数据

我的理解是,使用SHA-512,它应该接近0(2 ^ -256 ...)。 但是我们找不到的是输入字符串的长度是否会影响碰撞的概率。

因为对于具有20个字段的表,我相信它将起作用,但是对于具有280个字段的表,其中一些具有自由文本...我想确定。

我知道一个字符串的最大长度是2 ^ 128,但是散列更长的20.000个字符而不是200个字符会增加发生冲突的可能性吗?

谢谢你的帮助。

哈希算法的内部功能始终与固定长度的输入配合使用。 因此,在对长字符串进行哈希处理时,它将把字符串拆分为与内部函数所需的输入长度一样长的数据块(必要时填充最后一个)。 然后,它将遍历这些块, 并将一个块的输出与当前状态合并,将所有先前块的输出合并。

事实证明,这种结构使最终的哈希与内部函数一样具有抗冲突性。 检查文章Merkle–Damgård的构造 (在SHA-512中使用)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM