java端Bcrypt简单理解使用

2025-11-01 09:52:07

1、我这演示的是使用maven工程的。

<!--spring-security依赖包-->

<dependency>

    <groupId>org.springframework.security</groupId>

    <artifactId>spring-security-web</artifactId>

</dependency>

<dependency>

    <groupId>org.springframework.security</groupId>

    <artifactId>spring-security-config</artifactId>

</dependency>

java端Bcrypt简单理解使用

2、编写我们的测试案例:

加密

passwordEncoder.encode(password);

对比未加密密码和已加密密码是否一致

passwordEncoder.matches(password, newPassword);

java端Bcrypt简单理解使用

3、我们运行一下,查看控制台输出

java端Bcrypt简单理解使用

4、我们再运行一下

java端Bcrypt简单理解使用

5、发现没有,这两次运算出来的密文都是不一致的,可是对比原始密码:123456

确实一致的。

java端Bcrypt简单理解使用

6、Bcrypt简介: bcrypt是一种跨平台的文件加密工具。

bcrypt 使用的是布鲁斯·施内尔在1993年发布的 Blowfish 加密算法。

由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。

java端Bcrypt简单理解使用

7、Bcrypt就是一款加密工具,可以比较方便地实现数据的加密工作。你也可以简单理解为它内部自己实现了随机加盐处理

例如,我们使用MD5加密,每次加密后的密文其实都是一样的,这样就方便了MD5通过大数据的方式进行破解。

Bcrypt生成的密文是60位的。而MD5的是32位的。

java端Bcrypt简单理解使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢