ekinhbayar / hautelook-phpass
便携式PHP密码哈希框架
1.1.0
2012-08-31 00:00 UTC
Requires
- php: >=5.6.0
Replaces
- hautelook/phpass: 1.1.0
README
此存储库仅存在,因为hautelook/phpass存储库已被删除。我计划添加测试,并可能在未来某个时候尝试创建PHP ^8版本,但我无法保证一定会维护此库。
Openwall Phpass,现代化版本
这是基于0.3版本的Openwall的Phpass,但稍作现代化处理
- 命名空间化
- Composer支持(自动加载)
- PHP 5风格
- 单元测试
更改很小,主要是风格上的。源代码属于公共领域。我们声称不拥有所有权,但需要它用于我们的一个项目,并希望将其提供给其他人。
1.1.0
- 修改以添加random_bytes
钩子函数。1.0.0
- 修改为使用hash_equals以抵抗时间攻击。这需要php >= 5.6.0
。0.3.x
- 非常接近原始版本。需要php >= 5.3.3
。
自定义随机源
在版本1.1.0
中,get_random_bytes
函数检查是否存在random_bytes
函数。如果存在可调用的random_bytes
函数,则将使用random_bytes
作为随机字节输出的源。否则,将使用原始的get_random_bytes
代码。
安装
将此要求添加到您的composer.json
文件中,并运行composer.phar install
{
"require": {
"ekinhbayar/hautelook-phpass": "1.1.0"
}
}
用法
以下示例展示了如何哈希密码(然后将哈希存储在数据库中),以及如何检查提供的密码是否正确(哈希值相同)
<?php namespace Your\Namespace; use Hautelook\Phpass\PasswordHash; require_once(__DIR__ . "/vendor/autoload.php"); $passwordHasher = new PasswordHash(8,false); $password = $passwordHasher->HashPassword('secret'); var_dump($password); $passwordMatch = $passwordHasher->CheckPassword('secret', "$2a$08$0RK6Yw6j9kSIXrrEOc3dwuDPQuT78HgR0S3/ghOFDEpOGpOkARoSu"); var_dump($passwordMatch);