为了账号安全,请及时绑定邮箱和手机立即绑定

在线等,挺急的!如何做消息摘要算法?

在线等,挺急的!如何做消息摘要算法?

侃侃尔雅 2019-06-12 08:50:13
最近在学习web开发的时候遇到了一点问题,有关摘要算法的,个人查了资料还是不理解,如下:百度百科有这样一条:一般地,只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同;但相同的输入必会产生相同的输出。这正是好的消息摘要算法所具有的性质:输入改变了,输出也就改变了;两条相似的消息的摘要确不相近,甚至会大相径庭我所疑惑的是既然是相同的输入对应相同的输出,那么岂不是一个密码就对应一个根据算法产生的密文,比如我这样:importhashlibpwd='abc'.encode('ascii')s=hashlib.sha1(pwd)s.hexdigest()s#->'a9993e364706816aba3e25717850c26c9cd0d89d'那如果一个坏人知道了是sha1算法和最后的s密文,岂不是就可以反向推理出来密码是abc?比如说很多人的密码可能就是简单的生日(类似900101这种),那么推测+试验+比对不就可以推测出那个人的密码了么?第一次接触这类知识,理解还有很大的偏差,望各位前辈解答指教!
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

第一,哈希算法不是加密算法,它没有逆向的说法。第二,哈希的作用是将任意输入映射到一个固定长度的结果上,也就是说,
abcas...(省略2000个字符),根据某个哈希算法生成的结果是123456789;abc,根据同样的哈希算法生成的结果同样是123456789。
这是非常有可能发生的,因此凭借123456789和所使用的哈希算法,你连原文的长度都没法确定,更别说确定原文的内容了。
                            
查看完整回答
反对 回复 2019-06-12
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信