BCrypt加密方式


目前所使用比较多的是MD5,但是BCrypt也使用的比较多,相对来说BCrypt比MD5要安全一些,他的加密更慢。而且一般我们再对密码进行密文加密后,如果有人从数据库中拿到密码通过比对也容易找出对应的用户。因此我们在对密码机密时首先通过对密码的加密,然后在生成一个随机的salt,合并到一起存入数据库。对与使用BCrypt加密,首先下载BCypt的库,其实也就一个.java文件,把他放到项目中,在用户注册是对其提交过来的秘密加密,

依赖

<!--加密-->
<dependency>
   <groupId>org.mindrot</groupId>
   <artifactId>jbcrypt</artifactId>
   <version>0.4</version>
</dependency>
String password = "wu1236gdfgd4586";

/**
 * 生成随机的盐
 */
System.out.println(BCrypt.gensalt());
/**
 * 对密码password 进行加密
 */
String s = BCrypt.hashpw( password,BCrypt.gensalt() );
System.out.println(s);
String s1 = "$2a$10$4YC2JRrPVJztQK/LOqqrOO9xHf1fogplRXuSV.cOda8BOxDNdeWzm";





/**
 * 解密
 * 
 * 
 * s1 : 是加密后的密码
 * password : 是用户输入的密码
 */
Boolean b  = BCrypt.checkpw(password, s1 );

false 说明两个密码不一样
true :说明密码匹配成功
System.out.println(b);

猜你喜欢

转载自blog.csdn.net/weixin_41404773/article/details/81101831