我将使用什么加密算法在htpasswd文件中生成密码?
我正在运行一个Visual basic程序,并使用ftp服务器通过FTP上传客户端文件。我正在为每个客户端创建新目录,并希望为每个客户端目录添加一些密码保护(用于http访问)。
服务器在linux上运行apache。我所了解到的是,apache使用了一个稍微修改过的MD5版本,以及基于系统的"crypt“方法。这个页面:http://httpd.apache.org/docs/current/programs/htpasswd.html#security似乎说我可以使用几种算法中的一种。我猜目前我对它如何选择加密来使用感到困惑。
发布于 2014-08-08 07:42:26
算法由密码字段的第一个子字段选择。一个典型的htpasswd文件条目如下所示:
ralph:$1$abcd1234$Kx528z52Ohx1JLSzliZmw0
按字段:
ralph是用户名
1是散列算法标识符。1=md5,5=sha-256,6=sha-512
abcd1234是盐(这里不是很盐,通常是通过一些伪随机技术生成的)
Kx528z52Ohx1JLSzliZmw0是散列。
使用密码和盐作为输入来创建散列的一行python命令是:
python -c "import crypt, getpass, pwd; print crypt.crypt('password', '\$1\$abcd1234\$')"
免责声明:经过不到5分钟的研究,这个答案很大程度上来自另一个论坛上的slm。
发布于 2011-11-15 08:19:01
是的,这是可能的。Apache可以通过它前面的盐来识别不同的加密
https://stackoverflow.com/questions/7114652
复制相似问题