Jenkins 작업의 xml을 수정 중입니다. 암호 인 필드가 있습니다. xml을 얻을 때 원시 비밀번호가 있던 곳에서 해시가 있습니다.젠킨스가 사용하는 암호 암호화는 무엇입니까?
원시 암호 값에서이 해시를 만드는 방법을 알고 싶습니다.
<scm class="com.deluan.jenkins.plugins.rtc.JazzSCM">
<username>user</username>
<password>zlvnUMF1/hXwe3PLoitMpQ6BuQHBJ1FnpH7vmMmQ2qk=</password>
</scm>
나는 젠킨스 source code을 읽고하고 난 클래스 HudsonPrivateSecurityRealm.java이 참여하고있다 생각하지만 소금 매개 변수에 대한 확실하지 않다.
추신 : 이것은 Jenkins 암호가 아니며 작업 구성에 암호 필드가있는 플러그인을위한 것입니다.
평문 암호를 알고 있다면 몇 가지 일반적인 해싱 알고리즘을 시도해 볼 수 있습니다. –
HudsonPrivateSecurityRealm 클래스의 설명에 따르면 PasswordEncoder는 SHA-256 및 임의 소금 생성을 기반으로합니다. 따라서 문제는 젠킨스가 사용하는 소금을 얻는 방법이나 동일한 소금을 생성하는 방법입니다. –
암호를 암호화 할 때 소금이 생성되고 [출력에 포함] (https://github.com/jenkinsci/jenkins/blob/0cc333faf285d587a87dee8a5ea54a4f75a2c758/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java#L602) -L603). 해시가 형식에 맞지 않기 때문에이 코드로는 해시가 생성되지 않을 수도 있습니다. 이는 플러그인에 의한 설정입니다. – Blaisorblade