1. 程式人生 > 其它 >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");
    }
}

備註:jar包下載地址 http://mvnrepository.com/artifact/org.mindrot/jbcrypt

 2、修改Jenkins的admin密碼

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

http://localhost:8080/restart