bcrypt 是专门用来加密密码的算法,“加盐” 就是给密码加一段随机字符串,再一起加密,目的是让相同密码也能生成完全不同的密文,彻底防止密码被破解。
1、不加盐的致命问题:
如果两个人密码都是 123456:
不加盐 → 加密结果完全一样,一对比就知道所有人的密码
2、什么是 “加盐” ?
盐 = 随机生成的一串字符串,不是密码,也不是用户输入的。
作用:
给原始密码加一点 “随机杂质”,再一起加密。
例子:
密码:
123456随机盐:
a7s9k2加盐后:
123456a7s9k2再加密成最终密文
3、加盐后的效果:
每个人的盐都是随机、唯一的:
甲:
123456 + 盐A→ 密文 A乙:
123456 + 盐B→ 密文 B密文完全不同,黑客无法批量破解
加盐 = 让相同密码永远不一样