martbock/laravel-diceware

Laravel 的 Diceware 密码短语生成器

v2.1.0 2023-03-05 10:56 UTC

README

Latest Version on Packagist StyleCI Maintainability Code Coverage Build Status

此包可以轻松生成既安全又易于记忆的密码短语。

它使用Diceware 单词列表,并且可以根据您的需求完全配置。

用法

生成随机的 diceware 密码短语非常简单,只需像这样使用 Facade:

$passphrase = Diceware::generate();

// returns 'unwind-cosmic-entryway-MAGNETIC-stardust-ligament'
return $passphrase;

为什么要使用它?

多年来,我们一直训练人们使用对人类来说难以记忆但对机器来说容易猜测的密码。如果您不想让用户感到沮丧,您应该考虑使用像 Diceware 这样的工具来生成更容易记忆和输入的密码短语。

也许,这个问题最好通过以下著名的 xkcd 漫画来解释

xkcd Password Strength Comic

安装

您可以通过 composer 安装此包。接下来,发布 diceware.php 配置文件,以便您可以调整此包的设置。

composer require martbock/laravel-diceware
php artisan vendor:publish --provider 'Martbock\Diceware\DicewareServiceProvider'

配置

您可以在安装此包后发布到 Laravel 配置目录的 diceware.php 配置文件 中更改默认设置。目前支持以下选项

'number_of_words'       => 6,
'separator'             => '-',
'capitalize'            => true,
'add_number'            => false,
'wordlist'              => 'english',
'custom_wordlist_path'  => null,
'number_of_dice'        => 5,

当然,您可以使用自己的单词列表,只需相应地设置 custom_wordlist_path 即可。

许可证

PHP 实现采用 MIT 许可证,请参阅 LICENSE.md

包含的单词列表具有以下许可证

  • eff.txt 由电子前沿基金会(Electronic Frontier Foundation)许可,采用 CC-BY-3.0。
  • english.txt 由 Arnold G. Reinhold 许可,采用 CC-BY-3.0。
  • german.txt 由 Benjamin Tenne 许可,采用 GNU 通用公共许可证。