|
周四, 2009年 06月 25日 09:29 |
|
不同于之前的单纯md5(),joomla 1.5.x使用了md5()密码加$salt的方法来加密password。具体如下:
< php // 比如 密码是 "mypassword" $password = 'mypassword';
//随机一个 alpha-numeric characters [a-z0-9] 字符串作为 "salt" $salt = '2ds9f3d8cmquiwmfaw9w8cac45nc8iuc';
//这里$salt是个固定的,实际应该用个随机来产生 // 把原来的密码$password加上$salt组成新的 "salted password" $salted $salted = $password.$salt; //"salted password" 现在是: mypassword2ds9f3d8cmquiwmfaw9w8cac45nc8iuc
//然后 MD5 "salted password" 得到一个$hash $hash = md5($salted);
//最后入库的是什么呢?把$hash 跟 $salt 用 ':' 连起来就是最终数据库里的“密码”,即 $hash':'$salt。 $final_string_for_db = $hash.':'.$salt; ?> Is that clear as mud?
有兴趣的话可以下载这个生成joomla入库字符串的代码。php 下载
 |