我有一个"助记词"密码生成函数,大致如下:
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}}的字符串,其中每个奇数字符都是辅音字母,每个偶数字符都是元音字母。虽然我理解这会降低密码复杂度,但通常更容易记忆。现在我想通过生成易于输入的字符串来改进它。
我应该如何实现逻辑来生成在QWERTY键盘上易于输入的字符串?