最安全的PHP密码加密方法


以前用php储存密码都是用的md5 sha1 听说貌似这种的都不安全了索性来看看最新的加密

PHP 5.5 之后引入 Password hashing API 用于创建和校验哈希密码,它属于内核自带,无需进行任何扩展安装和配置。

password_hash() 加密
用法示例:(推荐)

<?php
/**
 - 我们想要使用默认算法散列密码
 - 当前是 BCRYPT 算法,并会产生 60 个字符的结果。
 - 据说bcrypt算法永不过时。
 -  - 请注意,随时间推移,默认算法可能会有变化,
 - 所以需要储存的空间能够超过 60 字(255字不错)
 */
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
?>

password_verify() 验证密码是否和散列值匹配
用法示例:

<?php
// 想知道以下字符从哪里来,可参见 password_hash() 的例子
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
    echo '密码正确';
} else {
    echo '密码错误';
}
?>

更多相关密码散列算法函数:
password_algos — 获取可用的密码哈希算法ID
password_get_info — 返回指定散列(hash)的相关信息
password_hash — 创建密码的散列(hash)
password_needs_rehash — 检测散列值是否匹配指定的选项
password_verify — 验证密码是否和散列值匹配

声明:小小博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 最安全的PHP密码加密方法


Carpe Diem and Do what I like