哈希算法简单理解
2021/10/13 17:14:58
本文主要是介绍哈希算法简单理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
举个栗子帮助理解
▌场景:小星与阿呆即时聊天中
阿呆:小星,今天来我家玩,来的路上,有一家披萨店,很好吃,顺便带一点哈。
小星:哦,要不你来我家玩吧,你顺便带上披萨。
阿呆:小星,你竟然都这么说了,看来只能抛硬币解决了。
小星:丫的,这个怎么抛,我怎么知道你有没有搞鬼。
阿呆:嗯,那到也是,要不这样。
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。你太贱了,好吧,这个算公平,谁撒谎都能被识别出来。
小星:阿呆,你出题吧 ……
这种丢掉一部分信息的加密方式称为“单向加密”,也叫哈希算法。
这篇关于哈希算法简单理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南