使用sha256对字符串进行散列(如密码)时,我正在散列的字符串长度是否有限制?例如,散列<= 64个字符的字符串是否"安全"?
Jer*_*fin 57
技术上存在限制,但它非常大.用于SHA-256的填充方案要求输入的大小(以位为单位)表示为64位数.因此,最大大小为(2 64 -1)/ 8字节〜= 2'091'752太字节.
这使得极限几乎完全是理论上的,而不是实际的.
大多数人无论如何都没有几乎那么多数据的存储,但即使他们这样做,连续处理它以产生单个哈希也需要花费大量时间来考虑禁止.
快速背的最信封类型的计算表明,即使是目前发展最快的企业固态硬盘1对汤姆的硬件上市和分拆其16宽以提高带宽,只是读数据的数量仍然需要大约220年.
1.截至2016年4月.