我使用“的口令的力MD5加密”中的htpasswd以产生例如“123”的散列我得到:

使用的htpasswd:123 => $ $ APR1 $ kaTbKaLO ewJXRZAKpjaxK4thy2jOp /

使用MD5摘要:123 => 202cb962ac59075b964b07152d234b70

请告诉我怎样才能像Apache的htpasswd的使用Java的哈希 感谢。

有帮助吗?

解决方案

在Apache的

密码htpasswd文件使用的是编码。如果要生成使用Java这些密码,你需要做的是相同的。 本网站有用于Apache的盐/散列算法的解释。 htpasswd的文件;我正找一个实际的算法可以使用,我发现一个之后将编辑我的答案。

修改:看起来像它被要求之前,就在这里这样:

Programmaticly构建的htpasswd

下面是从Apache文档,与它们的源代码一起:

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视图= CO

其他提示

我发现那里有人在解决这个在Java和其与啤酒洁具许可证发布。迟到总比不到好,对吧?它已经有可能自2007年以来,所以我会感到惊讶,如果您还没有最终发现它一些时间要求在2010年之后。

  

“的Java端口通过:乔纳森寺院,jonabbey@arlut.utexas.edu”

     

“MD5Crypt.java是波尔·亨宁·卡普的原始的FreeBSD的端口   基于MD5哈希算法,用其他方法来支持   apache httpd的该算法的服务器变体“。

     

“所得到的字符串将是在形式 '$ APR1 $ <盐> $ <散列一团糟>'”

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

Md5Crypt是你在找什么。它实现阿帕奇htpasswd的算法

  

使用的迭代Apache的特定算法(的 1000倍)的随机的32位的并在密码的各种组合的MD5摘要

import org.apache.commons.codec.digest.Md5Crypt;
...
String enPasswd = Md5Crypt.md5Crypt("your plain password".getBytes());
String htpasswdContent = "your username:" + enPasswd;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top