天天看點

Jenkins修改管理者密碼.

   前言:Jenkins修改管理者密碼,我看了網上所有的教程,竟然全都是拿着一串已經加密好的111111的密文去替代config.xml檔案裡面的密碼,然後大家的密碼都是111111!我覺得這種做法實在太敷衍了!于是我就研究了下,包括Jenkins密碼的加密方式,以及如何修改管理者的密碼,當然,通過配置Jenkins允許注冊使用者,去注冊一個使用者,也不失為一個好選擇。

1、Jenkins的加密方式

        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");
    }
}      
Jenkins修改管理者密碼.

     備注:jar包下載下傳位址 

http://mvnrepository.com/artifact/org.mindrot/jbcrypt

 2、修改Jenkins的admin密碼

Jenkins修改管理者密碼.

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

      http://localhost:8080/restart