とあるweb屋の仕事術

10年以上現役のweb製作屋さん。web製作雑務全部やる。

パスワード自動発行のシステム実装ではわかりにくい文字列を排除する

パスワード自動発行のシステム実装ではわかりにくい文字列を排除する

会員登録するときに、ログインIDとパスワードを設定するwebサービスは多いと思います。メールアドレスをログインIDとしたり、パスワードは自分で決めたものにするのか、自動発行するパタンもあると思います。

 

自動発行する場合に、ユーザごとにランダムの英数字をユニークに発行するわけですが、ここで注意したいのが、わかりにくい文字列を含めない、ということ。ユーザのリテラシーが低い場合、わかりにくい文字列は入力間違い、入力ミス、認識間違いの要因になります。

 

たとえば、

小文字の「l(エル)」と数字の「1(いち)」

大文字の「Z(ゼット)」と 数字の「2(に)」

など。

 

ランダムで発行する文字列にはこういったまぎらわしい文字を含めないのが理想。

 

I = 大文字のアイ
l = 小文字のエル
1 = 数字のいち
O = 大文字のオー 
0 = 数字のゼロ  
o = 小文字のオー
2 = 数字のに
Z = 大文字のゼット
j = 小文字のジェイ
i = 小文字のアイ
9 = 数字のキュー
q = 小文字のキュー
g = 小文字のジー
8 = 数字のはち

 

これらの文字列はユーザが間違いを起こしやすく、パスワードは正しいはずなのに認証されない!と問い合わせをしてくるユーザもいるので要注意です。自動発行に上記の文字列は含めないかたちでランダム生成したい。上記の文字列を抜いたとしてもセキュリティ的には問題ないはず。