导航
导航

md5加密隐患

首先MD5 其实不是真正的加密算法,而 MD5 是散列、哈希算法。不管多长的数据,使用 MD5 运算后得到的都是固定长度,无法再解密为原始数据。所以,MD5 是单向的。

有些 MD5 解密网站使用的是彩虹表。

如果md5+盐方式:

加盐如果不当,还是非常不安全,比如写死加盐或者将一部分用户数据作为盐。

所以,盐最好是随机的值,并且是全球唯一的。(这样就得单独的数据库字段保存盐)

更好的做法:也就是BCrypt来进行密码哈希,BCryptPasswordEncoder。BCrypt 是为保存密码设计

的算法。

“password”: “$2a$10$wPWdQwfQO2lMxqSIb6iCROXv7lKnQq5XdMO96iCYCj7boK9pk6QPC”

//格式为:$$$

所以说,我们不需要使用单独的数据库字段来保存盐。