我有一个类似这样的“助记符”密码生成功能:
function Mnemonic($mnemonic)
{
$result = null;
$charset = array(str_split('aeiou', 1), str_split('bcdfghjklmnpqrstvwxyz', 1));
for ($i = 1; $i <= $mnemonic; $i++)
{
$result .= $charset[$i % 2][array_rand($charset[$i % 2])];
}
return $result;
}
基本上,这会生成一个$mnemonic
长度为每个奇数字符是辅音而每个偶数字符是元音的字符串。虽然我知道这会降低密码复杂性,但通常更容易记住。现在我想通过生成易于键入的字符串来改进它。
例如,虽然我是一个 *nix 新手,但我总是更喜欢基于 RHEL 的发行版而不是 Debian 发行版,主要原因是易于打字yum
而不是易于打字apt[-get]
,你自己试试吧。
我应该如何实现逻辑以生成易于在 QWERTY 键盘上键入的字符串?