我将使用什么加密算法在htpasswd文件中生成密码?
我正在运行Visual Basic程序并使用ftp服务器来FTP客户端文件。我为每个客户端创建新目录,并希望为每个客户端目录添加一些密码保护(用于http访问)。
服务器在linux上运行apache。 我读过的是apache使用稍微修改过的MD5版本,以及系统基础“crypt”方法。这个页面:http://httpd.apache.org/docs/current/programs/htpasswd.html#security似乎说我可以使用几种算法中的一种。我想目前我对它如何选择使用加密感到困惑。
答案 0 :(得分:1)
答案 1 :(得分:0)
该算法由密码字段的第一个子字段选择。典型的htpasswd文件条目如下所示:
ralph:$1$abcd1234$Kx528z52Ohx1JLSzliZmw0
按字段:
ralph
是用户名
1
是哈希算法标识符。 1 = md5,5 = sha-256,6 = sha-512
abcd1234
是盐(这里不太咸,通常通过一些伪随机技术生成)
Kx528z52Ohx1JLSzliZmw0
是哈希值。
使用密码和salt作为输入创建哈希的单行python命令是:
python -c "import crypt, getpass, pwd; print crypt.crypt('password', '\$1\$abcd1234\$')"
免责声明:在<5分钟的研究之后,这个答案很大程度上从另一个论坛的slm
解除了。