tal7aouy / hashlib
生成强大的、安全的密码,能够抵御暴力破解攻击。
v1.0.0
2023-08-20 11:50 UTC
Requires
- php: ^8.2
Requires (Dev)
- pestphp/pest: ^2.13
README
HashLib
库提供了一种方便且灵活的方式,可以根据各种选项和要求生成、散列和验证密码。它包含一个名为Hasher
的特质,该特质定义了密码生成、验证和要求检查功能。
目录
简介
HashLib
库旨在简化PHP应用程序中的密码散列和验证。它提供了一个名为Hasher
的特质,可以轻松地将其集成到自己的类中以处理密码相关操作。
安装
可以使用Composer安装此库
composer require tal7aouy/hashlib
使用
基本散列
use Tal7aouy\HashLib\HashLib; $passwordHash = HashLib::getInstance(); $password = "my_secure_password"; $hashedPassword = $passwordHash::hash($password); if ($passwordHash::verify($password, $hashedPassword)) { echo "Password is verified!"; } else { echo "Password verification failed."; }
使用盐的散列
use Tal7aouy\HashLib\HashLib; $passwordHash = HashLib::getInstance(); $password = "my_secure_password"; $hashedData = $passwordHash::hashWithSalt($password); if ($passwordHash::verifyWithSalt($password, $hashedData['hash'], $hashedData['salt'])) { echo "Password is verified!"; } else { echo "Password verification failed."; }
密码要求检查
use Tal7aouy\HashLib\HashLib; $passwordValidator = HashLib::getInstance(); $passwordValidator->setUseLowerCase(true); $passwordValidator->setUseUpperCase(true); $passwordValidator->setUseNumbers(true); $passwordValidator->setUseSymbols(true); $password = "Complex@Passw0rd"; $result = $passwordValidator->meetsRequirements($password); if ($result === true) { echo "Password meets all requirements."; } else { echo "Password requirements not met: " . $result; }
方法
有关方法和描述的完整列表,请参阅完整文档。
以下是HashLib
库中一些关键方法的快速概述
setLength
设置生成密码所需的最小长度。
setUseLowerCase
指定是否需要在生成的密码中包含小写字母。
setUseUpperCase
指定是否需要在生成的密码中包含大写字母。
setUseNumbers
指定是否需要在生成的密码中包含数字。
setUseSymbols
指定是否需要在生成的密码中包含符号。
setPasswordRequirements
一次性设置多个密码要求。
generateSalt
使用base64编码生成随机盐。
isHashed
检查密码是否已散列。
hash
使用指定的算法和选项散列密码。
verify
验证密码是否与给定的散列匹配。
hashWithSalt
使用随机生成的盐散列密码。
verifyWithSalt
验证密码(与盐结合)是否与给定的散列匹配。
setPassword
设置用于散列和验证的密码。
getPassword
获取当前设置的密码。
meetsRequirements
检查给定的密码是否符合指定的要求。
有关详细的使用说明和示例,请参阅上面的使用部分。
结论
版本 1.0.0
许可证: MIT
对于任何问题、问题或反馈,请联系库的作者Mhammed Talhaouy。