参考答案
一个安全的散列算法需要具备的属性:
- 能对抗野蛮的攻击,能够抵御穷举法的攻势。
- 具有无限定义域,如任意长度的字节字符串和有限的值域或者固定长度的比特串。
- 具备应用的多样性,对于给定的散列值,没有实用的方法可以计算出一个原始输入,也就是说很难伪造。
- 能够因为环境因素的变化,如机器配置或者IP地址的改变而有变动。以保证源文件的安全性。
- 方便错误监测和修复函数。当散列函数被用于校验和的时候可以用相对较短的散列值来验证任意长度的数据是否被更改过。
- 安全散列算法接受的输入文档小于2的64次方 位,产生160位的报文摘要。该算法实际的目标使得找出一个能够匹配给定的散列值的文本是不可能的计算。
以上,是Java面试题【散列算法的安全性】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—