manual-php
Version:
56 lines (37 loc) • 2.09 kB
Markdown
# 密码散列算法
* [password_get_info - 返回指定散列的相关信息](#passwordgetinfo)
* [password_hash - 创建密码的散列](#passwordhash)
* [password_needs_rehash - 检测散列值是否匹配指定的选项](#passwordneedsrehash)
* [password_verify - 验证密码是否和散列值匹配](#passwordverify)
## password_get_info
```php
var_dump(password_get_info('$2y$10$tKnPX1LU2PvRVZSFIz2i/.xv0NDhVI0d/OXTGW9whNcjk8F6rZJlS'));
var_dump(password_get_info('$2y$10$KQ0EO1QHPgiR8Obw8JBaSum4d9qo/9uwoEbEWM83xkyoIcj2nxLHi'));
var_dump(password_get_info('$2y$12$ZUQseXv6fia8aRIkekmjHOnBIUTmGqz2PsKRor2/h0TJxeFF9Hv7u'));
var_dump(password_get_info('$argon2i$v=19$m=65536,t=4,p=1$dGlUUTZ5Sndpb05GVDRUZg$ZYowa5FSPxSlZJaiRoc09gGZCnHCETtxCvCbv567Pbc'));
```
## password_hash
```php
var_dump(password_hash('password', PASSWORD_DEFAULT));
var_dump(password_hash('password', PASSWORD_BCRYPT));
var_dump(password_hash('password', PASSWORD_BCRYPT, ['cost' => 12]));
var_dump(password_hash('password', PASSWORD_ARGON2I));
```
## password_needs_rehash
```php
var_dump(password_needs_rehash('$2y$10$tKnPX1LU2PvRVZSFIz2i/.xv0NDhVI0d/OXTGW9whNcjk8F6rZJlS', PASSWORD_DEFAULT));
var_dump(password_needs_rehash('$2y$10$KQ0EO1QHPgiR8Obw8JBaSum4d9qo/9uwoEbEWM83xkyoIcj2nxLHi', PASSWORD_BCRYPT));
var_dump(password_needs_rehash('$2y$12$ZUQseXv6fia8aRIkekmjHOnBIUTmGqz2PsKRor2/h0TJxeFF9Hv7u', PASSWORD_BCRYPT, ['cost' => 12]));
var_dump(password_needs_rehash('$argon2i$v=19$m=65536,t=4,p=1$dGlUUTZ5Sndpb05GVDRUZg$ZYowa5FSPxSlZJaiRoc09gGZCnHCETtxCvCbv567Pbc', PASSWORD_ARGON2I));
```
## password_verify
```php
var_dump(password_verify('password', '$2y$10$tKnPX1LU2PvRVZSFIz2i/.xv0NDhVI0d/OXTGW9whNcjk8F6rZJlS'));
var_dump(password_verify('password', '$2y$10$KQ0EO1QHPgiR8Obw8JBaSum4d9qo/9uwoEbEWM83xkyoIcj2nxLHi'));
var_dump(password_verify('password', '$2y$12$ZUQseXv6fia8aRIkekmjHOnBIUTmGqz2PsKRor2/h0TJxeFF9Hv7u'));
var_dump(password_verify('password', '$argon2i$v=19$m=65536,t=4,p=1$dGlUUTZ5Sndpb05GVDRUZg$ZYowa5FSPxSlZJaiRoc09gGZCnHCETtxCvCbv567Pbc'));
```