日本人の入力環境の標準がひらがななのだからひらがなでパスワードをやればいい。
なんなら、初期パスワードでさえもひらがなで生成してやればいい。
さらに、七五調で初期パスワードを生成してやれば、暗記だってできるかもしれない。
目で区別しにくい、パ行バ行促音拗音をとりのぞくと、ひらがなだけで61個の文字数。七五調で12文字組み合わせると、10の21乗くらいの組みあわせの数。京の上の十垓くらい。
プログラムつくって試してみると、
- あかやねきめへれわめふご
- いほろでどぜめやをせまぢ
- さりよがふはのねまでんぜ
こんな感じのパスワードが生成される。
暗記は厳しいかも知れないが、目でみてタイプするにはちょうど良いくらい。よくあるパスワード入力欄みたいに、伏せ字にならないというデメリットはあるが、伏せ字にすることで結果的にタイプ不可能になって、コピペするよりはまだまし。
今回は、強さを重視するために、初期パスワードを強くするという例だが、ユーザ設定のパスワードだって、ひらがな12文字以上で、かなり強いパスワードが設定できる。
- すきなおかしはたけのこのさとです
- おばあちゃんのきゅうせいになるともうしりません
これなら、総当たりのやる気は失せるし、暗記は十分可能。秘密の質問を設定させるくらいなら、そのやりとりそのものを、パスワードに設定させて欲しい。
<?
var_dump(passHiragana());
function passHiragana($wordCount=12){
$tbl = array('あ','い','う','え','お','か','が','き','ぎ','く','ぐ','け','げ','こ','ご','さ','ざ','し','じ','す','ず','せ','ぜ','そ','ぞ','た','だ','ち','ぢ','つ','づ','て','で','と','ど','な','に','ぬ','ね','の','は','ひ','ふ','へ','ほ','ま','み','む','め','も','や','ゆ','よ','ら','り','る','れ','ろ','わ','を','ん');
$out = "";
$countTbl = count($tbl);
for($i=0;$i<$wordCount;$i++){
$randChar = $tbl[mt_rand(0,$countTbl-1)];
$out .= $randChar;
}
return $out;
}
<?
var_dump(passHiragana());
function passHiragana($wordCount=12){
$tbl = array('あ','い','う','え','お','か','が','き','ぎ','く','ぐ','け','げ','こ','ご','さ','ざ','し','じ','す','ず','せ','ぜ','そ','ぞ','た','だ','ち','ぢ','つ','づ','て','で','と','ど','な','に','ぬ','ね','の','は','ひ','ふ','へ','ほ','ま','み','む','め','も','や','ゆ','よ','ら','り','る','れ','ろ','わ','を','ん');
$out = "";
$countTbl = count($tbl);
for($i=0;$i<$wordCount;$i++){
$randChar = $tbl[mt_rand(0,$countTbl-1)];
$out .= $randChar;
}
return $out;
}
0 件のコメント:
コメントを投稿