首页 > 代码库 > Jenkins修改管理员密码

Jenkins修改管理员密码

    前言:Jenkins修改管理员密码,我看了网上所有的教程,竟然全都是拿着一串已经加密好的111111的密文去替代config.xml文件里面的密码,然后大家的密码都是111111!我觉得这种做法实在太敷衍了!于是我就研究了下,包括Jenkins密码的加密方式,以及如何修改管理员的密码,当然,通过配置Jenkins允许注册用户,去注册一个用户,也不失为一个好选择。

 

1、Jenkies的加密方式

        Jenkins的密码采用的是Java加解密工具 jBCrypt,我也是第一次接触到这种加密方式,实在被他惊叹到了!这种加密方式每次加密同一个明文竟然都是得到不一样的结果,那他又是通过怎样的方式来解密的呢?原来,他拿着用户的明文,和存储的密文去重新生成一串密文去判断。总结如下,它有以下特点:        

关于bcrypt:

 

1、bcrypt是不可逆的加密算法,无法通过解密密文得到明文。

 

2、bcrypt和其他对称或非对称加密方式不同的是,不是直接解密得到明文,也不是二次加密比较密文,而是把明文和存储的密文一块运算得到另一个密文,如果这两个密文相同则验证成功。

 

      3、对于同一个明文的加密结果一般不同。
 
     附上Java源码
     
import org.mindrot.jbcrypt.BCrypt;

/**
 * Created by Administrator on 2017/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");
        else
            System.out.println("It does not match");
    }
}

 

技术分享

 

 

 2、修改Jenkins的admin密码

技术分享

 

3、重启Jenkins,就可以看到修改效果了。

      http://localhost:8080/restart

Jenkins修改管理员密码