3

你还在用md5+salt方式加密密码吗?PHP5.5引入了Password Hashing函数,内核自带无需安装扩展。在PHP5.4下测试了下也可是可以的,使用前最好确认一下你当前的环境是否支持这些函数。
Password Hashing主要提供了4个函数

//查看哈希值的相关信息
array password_get_info (string $hash)

//创建hash密码
string password_hash(string $password , integer $algo [, array $options ])

//判断hash密码是否特定选项、算法所创建
boolean password_needs_rehash (string $hash , integer $algo [, array $options ] 

boolean password_verify (string $password , string $hash)
//验证密码
$password = 'password123456';//原始密码
$hash_password = password_hash($password, PASSWORD_BCRYPT);//使用BCRYPT算法加密密码
if (password_verify($password , $hash_password)){
   echo "密码匹配";
}else{  
   echo "密码错误";
}

通过password_hash加密后的密码,使用字典方式很难破解,因为每次生成的密码都是不一样的,破解这种加密只能采用暴力破解。加密方法再好,原始密码设置的过于简单都容易被破解,设置复杂的密码才是王道。


jifei
903 声望9 粉丝

LNMP