赞
踩
BCrypt 和 MD5 比较流行。相对来说,BCrypt 比 MD5 更安全,BCrypt 算法的优点是计算速度慢,是的,你没看错,我说的就是计算速度慢,它还可以通过参数调节速度,要多慢有多慢。
引入依赖:
<!--jbcrypt加密-->
<dependency>
<groupId>org.mindrot</groupId>
<artifactId>jbcrypt</artifactId>
<version>0.4</version>
</dependency>
官方源码:http://www.mindrot.org/projects/jBCrypt/
源码中几个重要的方法如下:
//1. 对password加盐值
BCrypt.hashpw(String password, String salt);
//2. 比对password(如果相同返回true)
BCrypt.checkpw(String plaintext, String hashed);
//3. 获取盐值
BCrypt.gensalt();
实例如下:
public static void main(String[] args) {
//加密(参数1:待加密的密码,参数2:调用获取盐值的方法)
String hashpw = BCrypt.hashpw("123qwe", BCrypt.gensalt());
System.out.println(hashpw);
//判断密码是否相同
boolean checkpw1 = BCrypt.checkpw("123qwe", hashpw);
System.out.println(checkpw1); //true
boolean checkpw2 = BCrypt.checkpw("123456", hashpw);
System.out.println(checkpw2); //false
}
好事定律:每件事最后都会是好事,如果不是好事,说明还没到最后。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。