Tôi đang sửa đổi một xml của một công việc Jenkins. Có một lĩnh vực mà là một mật khẩu. Khi tôi nhận được xml, nơi nó là mật khẩu thô bây giờ có một băm.Mã hóa mật khẩu mà Jenkins đang sử dụng là gì?
Điều tôi cần là biết cách tạo băm này từ giá trị mật khẩu thô.
<scm class="com.deluan.jenkins.plugins.rtc.JazzSCM">
<username>user</username>
<password>zlvnUMF1/hXwe3PLoitMpQ6BuQHBJ1FnpH7vmMmQ2qk=</password>
</scm>
Tôi đã được đọc Jenkins source code và tôi nghĩ rằng HudsonPrivateSecurityRealm.java lớp được tham gia nhưng tôi không chắc chắn về thông số muối.
PS: Đây không phải là mật khẩu Jenkins dành cho một plugin trong cấu hình công việc có một trường mật khẩu.
Nếu bạn biết mật khẩu cleartext, bạn có thể thử một số thuật toán băm thông dụng. –
Trong một bình luận của lớp HudsonPrivateSecurityRealm nói rằng PasswordEncoder dựa trên SHA-256 và tạo ra muối ngẫu nhiên. Do đó vấn đề là làm thế nào để có được muối được sử dụng bởi Jenkins hoặc làm thế nào để tạo ra cùng một muối, phải không? –
Các muối được tạo khi mã hóa mật khẩu và [được bao gồm trong đầu ra] (https://github.com/jenkinsci/jenkins/blob/0cc333faf285d587a87dee8a5ea54a4f75a2c758/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java#L602 -L603). Kể từ khi băm không phù hợp với định dạng, nó có thể cũng không được tạo ra bởi mã này - nó được thiết lập bởi một plugin, sau khi tất cả. – Blaisorblade