Welche PHP-Passwortverschlüsselungsmethoden gibt es?

青灯夜游
Freigeben: 2023-03-11 09:56:02
Original
6129 Leute haben es durchsucht

php密码加密方法:1、使用password_hash(),语法“password_hash(密码,PASSWORD_BCRYPT)”;2、使用password_verify(),语法“password_verify(密码,hash)”。

Welche PHP-Passwortverschlüsselungsmethoden gibt es?

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

php推荐密码加密的方法

1、password_hash() 函数

password_hash() 函数用于创建密码的散列(hash)

password_hash (password,algo[,options])
Nach dem Login kopieren

password_hash() 使用足够强度的单向散列算法创建密码的散列(hash)。 password_hash() 兼容 crypt()。 所以, crypt() 创建的密码散列也可用于 password_hash()。

当前支持的算法:

  • PASSWORD_DEFAULT - 使用 bcrypt 算法 (PHP 5.5.0 默认)。 注意,该常量会随着 PHP 加入更新更高强度的算法而改变。 所以,使用此常量生成结果的长度将在未来有变化。 因此,数据库里储存结果的列可超过60个字符(最好是255个字符)。

  • PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创建散列。 这会产生兼容使用 "$2y$" 的 crypt()。 结果将会是 60 个字符的字符串, 或者在失败时返回 FALSE。

  • PASSWORD_ARGON2I - 使用 Argon2 散列算法创建散列。

注意,该常量会随着 PHP 加入更新更高强度的算法而改变。 所以,使用此常量生成结果的长度将在未来有变化。 因此,数据库里储存结果的列可

超过60个字符(最好是255个字符)。

PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创建散列。 这会产生兼容使用 "$2y$" 的 crypt()。

结果将会是 60 个字符的字符串, 或者在失败时返回 FALSE。

PASSWORD_ARGON2I - 使用 Argon2 散列算法创建散列。

2、password_verify()函数

password_verify()函数用于验证密码是否和散列值匹配。

password_verify ( password , hash )
Nach dem Login kopieren

参数说明:

  • password:用户的密码。

  • hash:一个由password_hash()创建的散列值。

返回值

如果密码和散列值匹配则返回TRUE,否则返回FALSE。

案例:

$a = password_hash("112233",PASSWORD_BCRYPT);
dump($a);//$2y$10$KgllhWiKePNN2z3k1zr3eea3giNkS57rGii0/r/u8lZE8K96nhJt6

$b = password_verify("112233",$a);
dump($b);//true
Nach dem Login kopieren

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWelche PHP-Passwortverschlüsselungsmethoden gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage