ozh / phpass
该软件包已被弃用,不再维护。未建议替代软件包。
便携式PHP密码散列框架
1.4.0
2022-02-23 15:31 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: >=4.0
README
这是Openwall的Phpass,基于0.5版本,但略有现代化
- 命名空间
- Composer支持(自动加载)
- 单元测试
现代化是由Hautelook完成的,我从他们那里偷了这个库,最初是为了将PHP 5.3到7.0的兼容性打包到一个文件和分支中(Hautelook的分支由两个分支组成,一个用于PHP 5.3到5.5,另一个用于5.6+)。
当前版本需要PHP 5.6+
安装
将此需求添加到您的composer.json
文件中,并运行composer install
{
"require": {
"ozh/phpass": "1.3.0"
}
}
用法
以下示例显示了如何散列密码(然后将其散列存储在数据库中),以及如何检查提供的密码是否正确(散列成相同的值)
<?php namespace Your\Namespace; use Ozh\Phpass\PasswordHash; require_once(__DIR__ . "/vendor/autoload.php"); // or require_once('path/to/src/Ozh/Phpass/PasswordHash.php'); $passwordHasher = new PasswordHash(8,false); // Encrypt $password = $passwordHasher->HashPassword('secret'); var_dump($password); // Will output something like: // '$2a$08$a6XFLs8SrjClF1szoDDkI.6gtWVb4//QnzUjkxlus83AKCNjuD8Ha' (length=60) // '$2a$08$Qze1smZ//VAwHJ1t52zklOY/yLwlbKR6Ighf6B7uqGXdYVozTPEdG' (length=60) // '$2a$08$u2uKfE9igO.Cz0SptWxlXeVi0CQglfl3FdRK3YpbGm1NfF1d.CFPm' (length=60) // Decrypt var_dump( $passwordHasher->CheckPassword('secret', '$2a$08$0RK6Yw6j9kSIXrrEOc3dwuDPQuT78HgR0S3/ghOFDEpOGpOkARoSu') ); // true var_dump( $passwordHasher->CheckPassword('secret', '$2a$08$Qze1smZ//VAwHJ1t52zklOY/yLwlbKR6Ighf6B7uqGXdYVozTPEdG') ); // true var_dump( $passwordHasher->CheckPassword('secret', '$2a$08$u2uKfE9igO.Cz0SptWxlXeVi0CQglfl3FdRK3YpbGm1NfF1d.CFPm') ); // true