//用户注册写入数据库
$userPass = "test";
$salt = "$1$123456789$";
$crypted = crypt( $userPass , $salt ); //加密过后 $1$123456789$oEitTZYQtRHfNGmsFvTBA/
$passToDb = substr( $crypted , strlen($salt) );
//将passToDb写入数据库.
//验证
$passFromDb = "oEitTZYQtRHfNGmsFvTBA/";
$checked = strcmp( $crypted , $salt.$passFromDb );
if ($checked==0) {
echo "密码验证成功";
}
$userPass = "test";
$salt = "$1$123456789$";
$crypted = crypt( $userPass , $salt ); //加密过后 $1$123456789$oEitTZYQtRHfNGmsFvTBA/
$passToDb = substr( $crypted , strlen($salt) );
//将passToDb写入数据库.
//验证
$passFromDb = "oEitTZYQtRHfNGmsFvTBA/";
$checked = strcmp( $crypted , $salt.$passFromDb );
if ($checked==0) {
echo "密码验证成功";
}
md5-crypt常用于postfix邮箱系统中
salt字符串一般是$1$XXXXXXXX$
“X”表示“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./”字符串中的一个某个字符。
http://bbs.chinaunix.net/viewthread.php?tid=122741