BCrypt加密

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
}

好事定律:每件事最后都会是好事,如果不是好事,说明还没到最后。

你可能感兴趣的:(#,Java基础,java)