Frage

i "Force-MD5-Verschlüsselung des Passworts" in htpasswd verwenden, um einen Hash zum Beispiel '123' i erhalten zu generieren:

Verwendung htpasswd: 123 => $ APR1 $ kaTbKaLO $ ewJXRZAKpjaxK4thy2jOp /

Verwendung MD5-Digest: 123 => 202cb962ac59075b964b07152d234b70

Bitte sagen Sie mir, wie kann ich einen Hash wie der Apache htpasswd mit Java generieren Danke.

War es hilfreich?

Lösung

Passwörter in Apache .htpasswd-Dateien werden verschlüsselt unter Verwendung eines Salz . Wenn Sie diese Passwörter mit Hilfe von Java generieren möchten, müssen Sie das gleiche tun. Diese Seite eine Erklärung des Salzes / Hashing-Algorithmus hat für Apache verwendet. htpasswd-Dateien; Ich bin für einen tatsächlichen Algorithmus suchen Sie nutzen könnten und meine Antwort bearbeiten, nachdem ich einen finden.

Bearbeiten : Sieht aus wie es vor gefragt worden ist, hier auf SO:

programmaticly Gebäude htpasswd

Hier ist die Dokumentation von Apache, zusammen mit ihrer Quellcode:

http://httpd.apache.org/docs/2.2/misc /password_encryptions.html

http : //svn.apache.org/viewvc/apr/apr-util/branches/1.3.x/crypto/apr_md5.c view = co

Andere Tipps

Ich fand, wo jemand dies in Java in Angriff genommen und es mit einer Bier-ware-Lizenz veröffentlicht. Besser spät als nie richtig? Es war es wahrscheinlich seit 2007 so ich überrascht sein würde, wenn Sie es nicht schließlich hatte im Jahr 2010 nach zu fragen einige Zeit gefunden.

  

"Java Port: Jonathan Abbey, jonabbey@arlut.utexas.edu"

     

"MD5Crypt.java ist eine Portierung von Poul-Henning Kamp original FreeBSD   MD5-Hash-Algorithmus basiert, mit zusätzlichen Methoden zur Unterstützung des   Apache Server-Variante dieses Algorithmus. "

     

"Die resultierende Zeichenfolge wird in der Form '$ APR1 $ $ '"

ftp://ftp.arlut.utexas.edu/pub/java_hashes/

md5crypt ist das, was Sie suchen. Es implementiert Apache htpasswd Algorithmen

  

Apache-spezifischer Algorithmus unter Verwendung eines iterierten ( 1.000-mal ) MD5-Digest von verschiedenen Kombinationen von einem zufälligen 32-Bit Salz und Passwort .

import org.apache.commons.codec.digest.Md5Crypt;
...
String enPasswd = Md5Crypt.md5Crypt("your plain password".getBytes());
String htpasswdContent = "your username:" + enPasswd;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top