ryanj93/php-password-toolbox

一个简单的PHP工具包,用于生成、分析和哈希密码。

1.1.4 2018-02-24 08:35 UTC

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版本吗?请查看这里