● password_hash():创立明码的哈希;
● password_verify():验证明码能否以及哈希婚配;
● password_needs_rehash():反省给定的哈希能否婚配给定的选项;
● password_get_info():前往指定哈希的相干信息。
一、password_hash(string password, int algo [, array options])
应用足够强度的单向散列算法天生明码的哈希。此函数兼容 crypt(),即由 crypt() 天生的哈希值能够应用 Password hashing API 的相干函数进行校验。
● password:用户明码。
● algo:明码算法常量。取值包罗:
● PASSWORD_DEFAULT:应用 bcrypt 算法。终极天生的后果可能超越 60 个字符;
● PASSWORD_BCRYPT:应用 CRYPT_BLOWFISH 算法创立哈希。终极后果是 60 个字符的字符串,或正在失败时前往 FALSE。
● salt:手动提供哈希明码的盐值。省略此项时,函数会为每一个明码哈希主动天生随机的盐值。PHP 7.0 已烧毁该项;
● cost:代表算法应用的 cost。默许值是 10,可依据实际状况添加。
二、password_verify(string password, string hash)
● password:用户提供的明码。
● hash:由 password_hash() 创立的哈希散列值。 假如婚配则前往 TRUE,不然前往 FALSE。时序攻打对此函数没有起作用。
三、password_needs_rehash(string hash, integer algo [, array opitons])
● hash:由 password_hash() 天生的哈希;
● algo:明码算法常量;
● options:蕴含无关选项的联系关系数组。
四、password_get_info(string hash) hash
:由 password_hash() 天生的哈希。 前往一个蕴含三个元素的联系关系数组:
● algo:明码算法常量;
● algoName:算法称号;
● options:挪用 password_hash() 时提供的选项。
示例
$str = 'chicken,run!'; $pwd1 = password_hash($str, PASSWORD_BCRYPT); $pwd2 = crypt($str); var_dump(password_verify('chicken,run!', $pwd1)); // 输入 true var_dump(password_verify('chicken,ran!', $pwd1)); // 输入 false var_dump(password_verify($str, $pwd2)); // 输入 true var_dump(password_needs_rehash($pwd1, PASSWORD_BCRYPT, ['cost'=>10])); // 输入 false,由于 password_hash() 正在加密时,进去默许 cost 为 10 外,还会指定随机的盐值
更多编程相干内容,请存眷资源魔编程入门栏目!
以上就是PHP 加密:Password Hashing API的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学
抱歉,评论功能暂时关闭!