adgodev / xkpasswd-php
记忆密码生成器
v1.0.0
2020-03-13 23:00 UTC
This package is auto-updated.
Last update: 2024-09-19 22:20:02 UTC
README
记忆密码生成器,受 xkpasswd.net/s/ 的 PERL 模块启发
主要基于 xkpasswd-node 包。同时向 battery-staple 致敬,以表达启发。
安装
composer require adgodev/xkpasswd-php
用法
您可以将 xkpasswd 作为模块用于您的应用程序。
示例
use Adgodev\Xkpasswd\PasswordGenerator; PasswordGenerator::generate(); // valuable=bear=difference=53 PasswordGenerator::generate([ 'complexity' => 5, 'separators' => '#+-' ]); // addition#wheat#congress#manner#lonely#20 PasswordGenerator::generate([ 'wordList' => 'myWordList.json' ]); // apple#grape#banana#40
选项
您可以根据 复杂度级别表 指定 complexity
参数。默认为 2。
如果指定了 pattern
参数,将覆盖由复杂度级别派生的 模式。
如果提供了 separators
,则使用标准集合(参见复杂度级别)代替。每个密码使用一个分隔符,随机从提供的集合中选择。
您可以将 transform
选项设置为 alternate
或 uppercase
以触发大小写转换。
最后,如果您想使用自定义单词列表,可以通过 wordList
函数提供 JSON 文件、文本文件或数组。
示例 默认行为
use Adgodev\Xkpasswd\PasswordGenerator; PasswordGenerator::generate(); // hide+threw+money+61
示例 指定复杂度
use Adgodev\Xkpasswd\PasswordGenerator; PasswordGenerator::generate([ 'complexity' => 5 ]); // join=industrial=wide=direction=lungs=16 PasswordGenerator::generate([ 'complexity' => 6 ]); // 57!FIFTHLY!astronauts!AFFECTEDLY!nymphs!TRUSTLESSNESSES!06
示例 指定自定义模式
use Adgodev\Xkpasswd\PasswordGenerator; PasswordGenerator::generate([ 'pattern' => 'wdwd' ]); // adjective3solar6
示例 指定自定义单词列表/字典
use Adgodev\Xkpasswd\PasswordGenerator; PasswordGenerator::generate([ 'wordList' => 'myWordList.json' ]); // orange.apple.banana
use Adgodev\Xkpasswd\PasswordGenerator; PasswordGenerator::generate([ 'wordList' => 'myWordList.txt' ]); // kiwi-strawberry-grape
模式
模式可以由单词、数字和分隔符的任何组合组成。分别使用 w(单词)、d(数字)和 s(分隔符)的首字母在提供给密码生成函数的模式字符串中使用。
例如
w
将返回一个单词(即demographics
)。使用w
表示小写,使用W
表示大写。wsd
将返回一个单词和一个数字,由一个允许的分隔符分隔(即storm#7
)wswsdd
将返回两个单词,后面跟着一个两位数,所有这些都有分隔符(即delates+dissembled+16
)
复杂度级别
有 6 个复杂度级别,可以用来提供默认模式以及触发额外功能,例如在单词之间交替大小写和扩展分隔符集合。
此外,级别 6 在单词之间交替大小写。
发布说明
v1.0.0
初始发布