哈希算法简单理解
作者:互联网
举个栗子帮助理解
▌场景:小星与阿呆即时聊天中
阿呆:小星,今天来我家玩,来的路上,有一家披萨店,很好吃,顺便带一点哈。
小星:哦,要不你来我家玩吧,你顺便带上披萨。
阿呆:小星,你竟然都这么说了,看来只能抛硬币解决了。
小星:丫的,这个怎么抛,我怎么知道你有没有搞鬼。
阿呆:嗯,那到也是,要不这样。
1对结果加密
阿呆:我心中想一个数,假设为A,然后A在乘以一个数B,得到结果C。A是我的密钥,我把结果C告诉你。你来猜A是奇数还是偶数,猜中了,算你赢。
小星:这不行,如果你告诉我C是12,我猜A是奇数,你可以说A是4,B是3。我猜A是偶数,你可以说A是3,B是4。要不你告诉我C是多少的时候,也告诉我B是多少。
阿呆:那这不行,告诉你C和B,不等于告诉你A是多少了,还猜个屁。不行得换个方式。
2不可逆加密
阿呆:小星,你看这样可以不,我想一个A,经过下面的过程:
1.A+123=B
2.B^2=C
3.取C中第2~4位数,组成一个3位数D
4.D/12的结果求余数,得到E
阿呆:我把E和上述计算方式都告诉你,你猜A是奇数还是偶数,然后我告诉你A是多少,你可以按上述的计算过程来验证我是否有说谎。
小星:嗯,我想想,假如阿呆你想的A为5,那么:
5+123=128
128^2=16384
D=638
E=638mod12=53 (mod表示除法的求余数)
小星:咦,厉害了,一个A值对应一个唯一的E值,根据E还推算不出来A。你太贱了,好吧,这个算公平,谁撒谎都能被识别出来。
小星:阿呆,你出题吧 ……
这种丢掉一部分信息的加密方式称为“单向加密”,也叫哈希算法。
标签:加密,奇数,披萨,偶数,算法,理解,告诉,哈希,阿呆 来源: https://www.cnblogs.com/bsxc2/p/15402788.html