27cm/password-generator

PHP 库,用于生成易于记忆但难以猜测的密码

dev-master 2016-09-26 15:01 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:31:19 UTC


README

一个灵活且可脚本的密码生成器,生成强密码短语,灵感来自XKCD漫画936。生成的密码易于记忆,但难以猜测。

XKCD Password Strength

安装

使用Composer

$ composer require 27cm/password-generator

基本用法

库从常用词汇生成短语

  • 英语短语(例如 "throat fast only idea")
  • 德语短语(例如 "laut welt ganze liter")
  • 俄语短语(例如 "тоже металл пора подача")
  • 俄语转写短语(例如 "kater nekiy zabrat dazhe")

使用默认长度(4个单词)和默认分隔符(空格)生成密码。

use TwentySeven\Password\Generator;
use TwentySeven\Password\WordList;

echo Generator::generateEn();
// => "throat fast only idea"

echo Generator::generateDe();
// => "laut welt ganze liter"

echo Generator::generateRu();
// => "тоже металл пора подача"

echo Generator::generateRuTranslit();
// => "kater nekiy zabrat dazhe"

echo TwentySeven\Password\Generator::generateEn(5, '-');
// => "ritual-error-raise-arab-tail"

$lists = [ new WordList\En(), new WordList\RuTranslit() ];
echo Generator::generate($lists, 5, '-');
// => "idea-dovod-critic-sever-happy"

词汇表

英语

2048个最常用英语词汇列表。

德语

2048个最常用德语词汇列表(来源)。排除了带重音符号的字母(ä, ö, ü)和eszett(ß)。

俄语

列表由2048个最常用俄语词汇组成(来源:http://dict.ruslang.ru/freq.php)。

俄语转写

由2048个最常用俄语词汇转写组成的列表(来源:http://dict.ruslang.ru/freq.php)。排除了难以转写的字母(ь, ъ)。

安全

库使用CSPRNG进行随机数生成。