OSのログインパスワードで、新しく生成されたパスワードはSHA1などでハッシュ化して保存されますが、このハッシュ化されたデータ自体をログインパスワードとして利用したらより安全だと思います。
MD5では必ず32桁のランダムな文字列が生成され、
SHA1では必ず40桁のランダムな文字列が生成されます。
必ずと言って、なんども入力しなければならない、OSのログインパスワードなどでは、
こんな長いパスワードは覚えられるはずがありません。
しかし、最近のブラウザは一度入力されたユーザー名とパスワードを記憶してくれる機能が付いています。さらに違うPCと同期までしてくれます。 そういった環境では、わざわざ覚えやすいパスワードをブラウザに記憶させておく必要はないはずです。
さらにハッシュ値を吐き出すアルゴリズムは、入力が一文字異なるだけで全く異なる値を出力するので、
入力する文字列を、好きな(短い)単語をほんの少し繋げるだけで、必ず難解なパスワードが生成できます。
つまり、ブラウザから利用するパスワードにはハッシュ化したパスワードがオススメということです。
SHA1とMD5のパスワードを生成する簡単なツールを作ったので置いておきます→pass.exe
使い方
オプション)
pass -m MD5パスワードを出力する
pass -s SHA1パスワードを出力する
pass -cm ※-cは元のパスワードを間違えないようにするだけ
pass -cs
例)
SHA1の新しいパスワードを生成する(pas1と入力)
pass -cs
UNIX password:****
Retype UNIX password:****
generated SHA1pass -> ece9a941ffb615fc7233b2fec9b7255d67affeb2
SHA1のパスワードを出力する(pas2と入力)
pass -s
UNIX password:****
SHA1pass -> 11962e25c8348cfa42c215578a2ade82c90d5e9e
pas1とpas2でこれだけ出力が違うのが面白い!
passwdコマンドに似せてるのは特に意味はないです。
ソースコード→ pass_src.zip
参考サイト
RFC 3174 – US Secure Hash Algorithm 1 (SHA1)
MD5メッセージ要約アルゴリズム(日本語訳)
そういやLinuxなのに UNIX passwordって表示されるのは何でだろ・・・