comment générer un hachage comme htpasswd apache en utilisant le java
Question
i utilise « Forcer le cryptage MD5 du mot de passe » dans htpasswd pour générer un hachage par exemple « 123 » je reçois:
Utilisation htpasswd: 123 => $ apr1 $ kaTbKaLO $ ewJXRZAKpjaxK4thy2jOp /
utiliser MD5: 123 => 202cb962ac59075b964b07152d234b70
S'il vous plaît me dire comment puis-je générer un hachage comme le htpasswd apache en utilisant java Merci.
La solution
Les mots de passe dans les fichiers Apache .htpasswd sont codés à l'aide d'un Ce site a une explication de l'algorithme de sel / hachage utilisé pour Apache. fichiers htpasswd; Je cherche un algorithme réel que vous pouvez utiliser et vous modifier ma réponse après que je trouve un.
EDIT : On dirait qu'il a été demandé avant, ici sur le SO:
programmaticly construction htpasswd
Voici la documentation d'Apache, ainsi que leur code source:
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
Autres conseils
J'ai trouvé où quelqu'un a abordé ce en java et relâcha avec une licence-ware de bière. Mieux vaut tard que jamais, n'est-ce pas? Il a été là probablement depuis 2007 donc je serais surpris si vous ne l'aviez pas finalement trouvé un peu de temps après avoir demandé en 2010.
"Java Port par: Jonathan Abbey, jonabbey@arlut.utexas.edu"
"MD5Crypt.java est un port de FreeBSD original de Poul-Henning Kamp algorithme de hachage MD5, avec d'autres méthodes pour soutenir la Apache variante serveur httpd de cet algorithme. "
"La chaîne résultante sera sous la forme 'apr1 $ $
$ '"
md5crypt est ce que vous recherchez. Il met en œuvre algorithmes Apache htpasswd
algorithme spécifique à Apache en utilisant un itérée ( 1000 fois ) MD5 de diverses combinaisons d'un 32-bit aléatoire Sel et password .
import org.apache.commons.codec.digest.Md5Crypt;
...
String enPasswd = Md5Crypt.md5Crypt("your plain password".getBytes());
String htpasswdContent = "your username:" + enPasswd;