【哈希密码】PHP比md5更平安的加密方式
md5(密码+盐值);
$passwordString='your password';//你的密码 $salt="your salt value";//盐值,增添复杂度(随机字串) $md5Password=md5($passwordString.$salt);
从理论上来说,md5不成逆,算是一种比力平安的加密方式。但是我要提示的是,md5早在04年的时候就被我国人破解。一旦被人拖库的化,密码走漏的大概性极大。
此刻引荐一种新的处置方式:
密码散列算法函数
password_get_info — 返回指定哈希(hash)的相关信息
password_hash — 创立密码的哈希(hash)
password_needs_rehash — Checks if the given hash matches the given options
password_verify — 验证密码可否和哈希匹配
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';//原始密码 //使用BCRYPT算法加密密码 $hash_password = password_hash($password, PASSWORD_BCRYPT); if (password_verify($password , $hash_password)){ echo "密码匹配"; }else{ echo "密码错误"; }
重要特点:
通过password_hash加密后的密码,使用字典方式很难破解,由于每次生成的密码都是不一样的。破解这种加密只能采纳暴力破解。
最后提示:
加密办法再好,原始密码设定的过于简便都容易被破解,设定复杂的密码才是王道。
以上就是【哈希密码】PHP比md5更平安的加密方式的具体内容,更多请关注百分百源码网其它相关文章!