很像这个问题,我想从PHP生成一个htpasswd文件条目.然而,它需要是APR1(Apache)风格,如原始答案中提到的(答案没有显示如何实现APR1样式),与mod_dav_svn一起使用.
我似乎无法找到一个可以创建密码的工作实现.
我发现了这个(我现在忘记了):
function crypt_apr1_md5($plainpasswd) {
$salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8);
$len = strlen($plainpasswd);
$text = $plainpasswd.'$apr1$'.$salt;
$bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd));
for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); }
for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; }
$bin = pack("H32", md5($text));
for($i = 0; $i < 1000; $i++) {
$new = ($i & 1) ? $plainpasswd : …Run Code Online (Sandbox Code Playgroud)