2 kingsonyoung kingsonyoung 于 2016.01.27 15:27 提问

MD5加密后的值可能相同

不同字符串的MD5加密后的值可能相同。假如‘123’和‘456’的MD5加密后的值相同。如果我的密码是123,那么我输入456在实际中是不通过的?那么是不是还有其他机制决定?

4个回答

scship
scship   2016.01.27 16:01
已采纳

1、md5不是加密算法,只是hash算法
2、md5碰撞(就是你说的值相同)几率非常非常非常低
3、一般的后台都不会直接密码一次md5,而是加盐后md5,甚至多次md5,防止脱库(意思就是就算有人把整个数据库拿走,用户的密码明文都不会泄露)

lpfly
lpfly 回复新young: 一般是就用hash+salt,可以参考PBKDF2
接近 2 年之前 回复
kingsonyoung
kingsonyoung 一般数据库加密密码这些比较隐秘的数据,是用什么加密?
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.27 18:34

如果我不知道你的密码,我胡乱输入一个,是不是可能存在输入的密码恰巧是和你的密码一样的情况。
这种情况下你担心么?是否有别的机制(比如验证下你的指纹或者脸型),还是只要密码对了,就登录成功了?

如果你不担心这个问题,就不要担心md5重复的情况了,因为前者发生的概率要比后者高出好几个数量级。如果如果你不担心出门会被汽车撞死,那么你没必要担心你出门会被外星人抓走一样。

kingsonyoung
kingsonyoung 就是说MD5值相同的几率非常非常小?
接近 2 年之前 回复
qq_19558705
qq_19558705   Ds   Rxr 2016.01.27 18:24

请使用加盐加密。因为现在的加密算法都存在解密的方法。但是如果加了一个自定义的字段(也就是盐)以后,就很难破解,除非别人知道了你的盐是什么。

sun2015_07_24
sun2015_07_24   2016.01.27 16:05

md5不算是加密。只是个算法,如果从安全来说。建议用https协议

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!