Java面试-9:什么是Bcrypt 加盐加密?

Java面试-9:什么是Bcrypt 加盐加密?

bcrypt 是专门用来加密密码的算法,“加盐” 就是给密码加一段随机字符串,再一起加密,目的是让相同密码也能生成完全不同的密文,彻底防止密码被破解。

1、不加盐的致命问题:

如果两个人密码都是 123456

  • 不加盐 → 加密结果完全一样,一对比就知道所有人的密码

2、什么是 “加盐” ?

盐 = 随机生成的一串字符串,不是密码,也不是用户输入的。

作用:

给原始密码加一点 “随机杂质”,再一起加密。

例子:

  • 密码:123456

  • 随机盐:a7s9k2

  • 加盐后:123456a7s9k2

  • 再加密成最终密文

3、加盐后的效果:

每个人的盐都是随机、唯一的:

  • 甲:123456 + 盐A → 密文 A

  • 乙:123456 + 盐B → 密文 B

  • 密文完全不同,黑客无法批量破解

加盐 = 让相同密码永远不一样

Java面试-8:静态方法和实例方法的区别 2026-03-24
Java面试-10:重载和重写的区别 2026-03-24

评论区