Ich modifiziere ein xml eines Jenkins-Jobs. Es gibt ein Feld, das ein Passwort ist. Wenn ich das xml bekomme, wo es jetzt das rohe Passwort war, gibt es einen Hash.Welche Passwortverschlüsselung verwendet Jenkins?
Was ich brauche, ist zu wissen, wie man diesen Hash aus dem Raw-Passwort-Wert erstellt.
<scm class="com.deluan.jenkins.plugins.rtc.JazzSCM">
<username>user</username>
<password>zlvnUMF1/hXwe3PLoitMpQ6BuQHBJ1FnpH7vmMmQ2qk=</password>
</scm>
Ich habe gelesen Jenkins source code und ich denke, die Klasse HudsonPrivateSecurityRealm.java beteiligt ist, aber ich bin nicht sicher über den Salz-Parameter.
PS: Dies ist nicht für das Jenkins-Passwort ist für ein Plugin, das in der Job-Konfiguration hat ein Passwort-Feld.
Wenn Sie das Klartext-Passwort kennen, können Sie einige gängige Hashing-Algorithmen ausprobieren. –
In einem Kommentar der HudsonPrivateSecurityRealm-Klasse wird angegeben, dass PasswordEncoder auf SHA-256 und zufälliger Salzgenerierung basiert. Daher ist das Problem, wie man das von Jenkins verwendete Salz bekommt oder wie man das gleiche Salz erzeugt, richtig? –
Salze werden beim Verschlüsseln des Kennworts generiert und in der Ausgabe enthalten (https://github.com/jenkinsci/jenkins/blob/0cc333faf285d587a87dee8a5ea54a4f75a2c758/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java#L602 -L603). Da dieser Hash nicht in das Format passt, wird er wahrscheinlich nicht von diesem Code generiert - er wird schließlich von einem Plugin erstellt. – Blaisorblade