Ich möchte den Algorithmus oder die Technik von diesem Befehl (mvn --encrypt-master-password) verwendet wissen. Jedes Mal, wenn ich es laufe, erzeugt es eine andere Ausgabe. Ich gehe davon aus, dass Systemzeit als Seed-Parameter benötigt.Wie funktioniert mvn --encrypt-master-password <password>?
Antwort
Der Verschlüsselungsmechanismus ist nicht in der Maven Codebase per se. Es befindet sich in einer Bibliothek namens plexus-cipher
. Es ist immer auf der Maven-Verteilung. Mein ist lib/plexus-cipher-1.7.jar
ist 3.0.5
die Maven-Version.
Die tatsächliche Chiffre ist AES/CBC/PKCS5Padding
. Die Schlüssel für die Chiffre und IV für die Blockverkettung werden abgeleitet iterating SHA-256
-ing über das angegebene Passwort (codiert als UTF-8) verkettet mit einer JVM-Konfiguration-spezifischen (in der Regel SHA1PRNG
) 64-Bit-Random-Salz ein- oder zweimal.
Keine großen Überraschungen hier. Es scheint auf dem gleichen Format zu sein, das jede andere Seele heutzutage benutzt.
Die blutigen Details können lesen werden, um die Quelle auf die die Einzigartigkeit jedes Mal
- 1. Wie genau funktioniert mvn -U?
- 2. mvn Paket oder mvn install
- 3. mvn android: deploy funktioniert nicht (trotz Erfolgsbestätigung)
- 4. Wie unterscheiden sich "mvn clean package" und "mvn clean install"?
- 5. Mvn kompilieren vor exec
- 6. 'mvn install' funktioniert nicht und zeigt Fehler beim Download
- 7. Mvn Test Cmd Linie Buildfehler, Test funktioniert in Eclipse
- 8. GMaven Projekt von mvn Urbild Sie: nicht `mvn compile`
- 9. Elefant-Vogel mvn Paketfehler
- 10. mvn failure on build
- 11. mvn tomcat: run - wie bearbeite ich server.xml?
- 12. Wie mvn Befehl mit IntelliJ IDEA ausführen?
- 13. Was ist Druck << EOF; und wie funktioniert es?
- 14. Overloading operator << nicht funktioniert
- 15. Wie funktioniert OfType <T>() arbeiten?
- 16. Wie funktioniert <iostream>? (C++)
- 17. Wie funktioniert XNAs Content.Load <Texture2D>?
- 18. Wie funktioniert "<% = request.getContextPath()%>" besser als "../"
- 19. Maven (MVN) Rückgabewert bei Ausfall?
- 20. MVN mit Rotary Arm Anweisung
- 21. Lauf mvn Befehl IntelliJ IDEA
- 22. mvn -e Vollständiger Stack Trace?
- 23. mvn paket enthält nicht xml
- 24. MVN-gae-Plugin plötzlich gebrochen
- 25. mvn Kompilierung: Kann Paket java.lang
- 26. Maven: mvn Befehl nicht gefunden
- 27. Maven Plugin - mvn release: vorbereiten
- 28. Maven: Was macht "mvn -P"?
- 29. Durch Landstreicher running mvn Befehl
- 30. mvn jetty: run findet meinen LoginService nicht
So ist das 64-Bit-Zufall Salz liefert GitHub project page gefunden, aber das Salz braucht einen Samen als auch, ist es die Systemzeit oder etwas anderes? – SDS
Hängt von der zufälligen PRNG-Implementierung ab, die zuerst gefunden wird. Unter Linux zum Beispiel initialisiert 'NativePRNG' sich selbst und liest seinen Seed aus'/dev/random', was für die Performance-Kerfuffle verantwortlich ist. Ich kann nicht sagen, welche Systemressourcen der Fallback 'SHA1PRNG' verwendet. –
Vielen Dank für die Erklärung – SDS