Chciałbym poznać algorytm lub technikę używaną przez to polecenie (mvn --encrypt-master-password). Za każdym razem, gdy uruchomię, powstaje inne wyjście. Zakładam, że zajmuje on czas systemowy jako parametr początkowy.Jak działa mvn --encrypt-master-password <password>?
8
A
Odpowiedz
8
Mechanizm szyfrowania nie znajduje się w kodzie języka jako takiego. Znajduje się on w bibliotece o nazwie plexus-cipher
. Zawsze jest w dystrybucji maven. Mój jest na lib/plexus-cipher-1.7.jar
będący 3.0.5
wersją maven.
Rzeczywisty szyfr to AES/CBC/PKCS5Padding
. Klucz dla szyfru i IV dla łańcucha blokowego pochodzi z iterowania SHA-256
- nad podanym hasłem (zakodowanym jako UTF-8) połączonym z 64-bitową losową solą specyficzną dla JVM (zazwyczaj SHA1PRNG
) raz lub dwa razy.
Nie ma tu dużych niespodzianek. Wydaje się, że jest w tym samym formacie, z którego korzysta teraz każda inna dusza.
Gór szczegółów można znaleźć czytając źródła na GitHub project page
Powiązane problemy
- 1. mvn tomcat7: run - jak to działa?
- 2. mvn android: wdrażaj nie działa (pomimo potwierdzenia sukcesu)
- 3. Dlaczego "<?" już nie działa i działa tylko "<? php"?
- 4. Czym różnią się "pakiet mvn clean" i "mvn clean install"?
- 5. mvn zainstalować błąd ponownie
- 6. Kompilacja Mvn przed exec
- 7. Jak ustawić zmienną środowiskową w mvn pom?
- 8. Jak wygenerować witrynę z witryną mvn: site?
- 9. jak uruchomić polecenie mvn eclipse: eclipse
- 10. Jak działa java.util.EnumSet <E>?
- 11. Jak działa Func <T,TResult>?
- 12. Jak działa IEnumerable <T>.
- 13. Jak działa funkcja `[<-` w R?
- 14. Jak działa std :: declval <T>()?
- 15. Jak zrobić "mvn compile" i "pakiet mvn" z m2e w Eclipse?
- 16. mvn -e Kompletny ślad stosu?
- 17. Maven: polecenie mvn Nie znaleziono
- 18. mvn install jar-with-dependencies
- 19. mvn-GAE-plugin nagle złamane
- 20. Maven: Co robi "mvn-P"?
- 21. Używanie mvn deploy przez webdav: tworzenie katalogu
- 22. Czy bezpiecznie jest uruchamiać ciągłe kompilacje z "mvn verify" zamiast "mvn clean verify"
- 23. Maven (MVN) zwraca wartość po awarii?
- 24. Przekaż JAVA HOME jako parametr do mvn
- 25. LINQ Fluent NHibernate .Contains() nie działa w QueryOver <> ale działa w Query <>
- 26. mvn tomcat: run - jak mogę edytować plik server.xml?
- 27. Jak mogę atomicznie uruchomić testy mvn (bez odbudowywania kodu źródłowego)?
- 28. mvn tomcat: run nie uruchamia Tomcat
- 29. Co mvn zainstalować w maven dokładnie zrobić
- 30. mvn spring-boot: run nie startuje wiosna
Tak więc 64-bitowy losowy sól zapewnia niepowtarzalność za każdym razem, ale sól potrzebuje nasienie jak dobrze, to jest czas systemowy, czy coś innego? – SDS
Zależy od przypadkowej implementacji PRNG, którą znajdzie jako pierwszą. Na przykład, na Linuksie, 'NativePRNG' uruchamia się czytając jego seed z'/dev/random', co było przyczyną niepowodzenia kerfle. Nie mogę stwierdzić, które zasoby systemowe używa awaryjny "SHA1PRNG". –
Dziękuję za wyjaśnienie – SDS