Jenkins的加密方式
Jenkins 的密码采用的是Java加解密工具 jBCrypt,我也是第一次接触到这种加密方式,实在被他惊叹到了!这种加密方式每次加密同一个明文竟然都是得到不一样的结果,那他又是通过怎样的方式来解密的呢?原来,他拿着用户的明文,和存储的密文去重新生成一串密文去判断。总结如下,它有以下特点:
关于bcrypt:
1、bcrypt是不可逆的加密算法,无法通过解密密文得到明文。
2、bcrypt和其他对称或非对称加密方式不同的是,不是直接解密得到明文,也不是二次加密比较密文,而是把明文和存储的密文一块运算得到另一个密文,如果这两个密文相同则验证成功。
3、对于同一个明文的加密结果一般不同。
import org.mindrot.jbcrypt.BCrypt;/*** Created by Administrator on 2019/6/2.* <p>* Description:*/
public class Test
{public static void main(String[] args){//这是加密方式String hashed = BCrypt.hashpw("nimda", BCrypt.gensalt());System.out.println(hashed);//这是解密方式if (BCrypt.checkpw("nimda", hashed))System.out.println("It matches");elseSystem.out.println("It does not match");}
}
备注:jar包下载地址 http://mvnrepository.com/artifact/org.mindrot/jbcrypt
2、修改Jenkins的admin密码
3、重启Jenkins,就可以看到修改效果了。
http://localhost:8080/restart