Discuss / Java / 求助

求助

Topic source

霍铃震霍

#1 Created at ... [Delete] [Delete and Lock User]

还是很不能理解这个散列函数是怎么映射出新的字符串的,很难理解为什么会不可逆,有人通俗易懂的说一下散列过程么。

不容艺

#2 Created at ... [Delete] [Delete and Lock User]

不同的哈希算法其过程是不一样的,具体算法可以自己搜算法过程。

正如老师说的哈希冲突是不可避免的,有限的哈希值是不可能唯一对应世界万物的,所以存在hash(x1)=hash(x2)=y的情况,如果存在反函数hash^-1(x),则hash^-1(y)既等于x1又等于x2,而这违反了函数的定义,这就是为什么哈希函数不可逆原因

Mean‭

#3 Created at ... [Delete] [Delete and Lock User]

单向函数了解一下,函数的输入和输出并不是一一对应的,举个简单的例子,8%7=1,15%7也等于1,反过来就不知道输入的是8还是15了。看一下MD5的算法就知道了。


  • 1

Reply