来研究下Linux的用户密码加密 保存方式
参考: http://www.idcnews.net/html/edu/code/20060101/295030.html
Linux 下面的用户已经密码保存方式:
/etc/passwd 保存了 用户名的相关信息,
/etc/shadow 保存了用户的密码信息
比如:
test:$6$ST8DAbog$W.PpbLZeOgvHGPyiNmL3D5cf2/Uk6iGvPhtjH3xLEavKFanWymNqdpFNzEJMml7Ia/FUJ1XwQ85UqqbvD.XSU.:14251:0:99999:7:::
其中加粗的是密码的加密后的串,加密方式如下:
# php -r 'echo crypt("123456","\$6\$ST8DAbog\$");echo "\n";'
$6$ST8DAbog$W.PpbLZeOgvHGPyiNmL3D5cf2/Uk6iGvPhtjH3xLEavKFanWymNqdpFNzEJMml7Ia/FUJ1XwQ85UqqbvD.XSU.
我的密码是123456 然后 $6$ST8DAbog$ 这个串估计是随机生成的,然后使用des算法加密,关于crypt使用方式参看: http://cn2.php.net/manual/en/function.crypt.php
至于后面的参数的格式参看:
http://edu.admin5.com/article/20061211/12112JL2006.shtml