jenkins的credentials.xml文件中存儲了很多賬號,但是里面的密碼都是經過加密處理的,密碼格式都是下面這種
{AQAAABAAAAAgQI+cpXwSulM5zcFv14L5eODWtRDiP1HBCY/zg8H3kTDE4swuJ+j5DiVg251XDjq+}
最近有個賬號的密碼忘記了,但是很久之前在jenkins里面配置過的,所以想通過解密的方式去獲取之前的密碼。
網上找資料發現,jenkins的密碼是使用hudson.util.Secret.fromString("明文密碼").getEncryptedValue()加密的,而解密的話就需要使用hudson.util.Secret.fromString("{XXX=}").getPlainText()進行解密
用jenkins的管理員賬號登錄,在系統管理列表中找到Script Console這個選項
系統管理:

將下面語句粘貼到內容框中
println(hudson.util.Secret.fromString("{AQAAABAAAAAgQI+cpXwSulM5zcFv14L5eODWtRDiP1HBCY/zg8H3kTDE4swuJ+j5DiVg251XDjq+}").getPlainText())

點擊運行按鈕,解密后的明文密碼就會打印出來
jenkins版本不同,可能使用的代碼行也不同,還有可能是下面這種:
println(hudson.util.Secret.decrypt("{AQAAABAAAAAgQI+cpXwSulM5zcFv14L5eODWtRDiP1HBCY/zg8H3kTDE4swuJ+j5DiVg251XDjq+}"))
參考文檔:https://qastack.cn/devops/2191/how-to-decrypt-jenkins-passwords-from-credentials-xml
