2013年9月23日月曜日

パスワードにひらがなを使ってみる

英数記号をくみあわせたパスワードが「お行儀が良い」とされているが、モバイルだとスゲー入力しにくい。覚えにくい上に、手書きでメモったとしても、アルファ別途の大文字小文字まで書ける自身などない。結果、コピペをするしかない。

日本人の入力環境の標準がひらがななのだからひらがなでパスワードをやればいい。

なんなら、初期パスワードでさえもひらがなで生成してやればいい。

さらに、七五調で初期パスワードを生成してやれば、暗記だってできるかもしれない。



目で区別しにくい、パ行バ行促音拗音をとりのぞくと、ひらがなだけで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;
}


0 件のコメント:

コメントを投稿