ryanj93 / php-password-toolbox
一个简单的PHP工具包,用于生成、分析和哈希密码。
Requires
- php: >=7.0
Requires (Dev)
- php: >=7.0
This package is not auto-updated.
Last update: 2024-09-23 14:19:39 UTC
README
密码工具箱是一个简单的库,可以帮助您使用PHP处理密码,而不需要任何依赖。这个库是从Node.js上的"Password toolkit"库移植过来的PHP版本。您可以使用这个库生成建议的密码,分析用户提供的密码以获取强度分数,并创建可以存储在数据库中的哈希值。请注意,此库需要PHP版本7.0或更高。
密码分析
首先,您需要创建一个"Analyzer"类的实例,如下所示
$analyzer = new PHPPasswordToolBox\Analyzer();
简单分析
$analyzer->analyze($password);
完整分析
$analyzer->setDictionaryPath('rockyou.txt')->completeAnalysis($password);
请注意,完整分析需要一个包含弱密码列表的字典,列表中的密码必须由换行符(\n)分隔。您可以从这里下载字典。两种方法都会返回一个包含字符数、关键词和分数的信息的关联数组。
密码生成
首先,您需要创建一个"Generator"类的实例,如下所示
$generator = new PHPPasswordToolBox\Generator();
随机密码
$generator->generate(12);
可读密码生成
$generator->setDictionaryPath('dictionary.txt')->generateHumanReadable(12, 2);
请注意,为了生成可读密码,您需要一个字典,字典中的单词必须由换行符(\n)分隔。如果您在寻找英文单词列表,请查看这里。
密码哈希
简单哈希生成
PHPPasswordToolBox\Hash::createSimpleHash($password);
更复杂的哈希生成
PHPPasswordToolBox\Hash::createHash($password);
第一种方法将返回哈希字符串,第二种方法将返回一个包含哈希及其参数(盐、算法、循环次数)的关联数组。如果您需要比较给定的密码和用第一种方法生成的哈希,可以使用此方法
PHPPasswordToolBox\Hash::compareSimpleHash($password, $hash);
而如果您使用了第二种方法,您可以这样做
PHPPasswordToolBox\Hash::compareHash($password, $hash);
您正在寻找Node.js版本吗?请查看这里。