ランダムでパスワードを生成する
とても重要なサービスのパスワードであればランダム文字列で作るほうがいいでしょう。
盗聴まで警戒するならオフラインで作るくらいの警戒をしてもいいくらいです。
作り方
基本は、パスワードの文字数は12文字以上で作ることが(今のところ)安全と言われています。
12文字以上で作るようにしましょう。長ければ長いほどいいです。
WindowsならPowerShell上で以下の3つのコマンドを打つと、ランダム文字列が作れます。
code:PowerShell
$len = 12 #文字数
Reflection.Assembly::LoadWithPartialName("System.Web")
System.Web.Security.Membership::GeneratePassword($len,0)
結果は、こんな感じ。文字列に記号が混じります。
code:PowerShell(結果)
F:RTWT])q]]}
記号を混ぜたくない場合は、3つめのコマンドを変えるといいでしょう。
code:PowerShell
$len = 12 #文字数
Reflection.Assembly::LoadWithPartialName("System.Web")
do { $pwd = System.Web.Security.Membership::GeneratePassword($len,0) } until ( $pwd -match '^0-9a-zA-Z+$' ); $pwd
結果はこんな感じ。記号は混じりません。
code:PowerShell
JKULrd6w2ca8
参考:https://stackoverrun.com/ja/q/10270645
スマホなどのユーザーは、パスワード生成アプリを使ってみましょう。
ただし、信頼できるサイトで作るべきです。不正に収集されている危険性もあるかもしれません。
パスワードジェネレータ - LastPass
https://gyazo.com/2bd74e01ad7379d21d14b9592d733aa1
デメリットとして、ランダム文字列を覚えるのは不可能でしょう。
パスワード管理ソフトの助けを借りなければならないという手間があります。
安全性
英数字(64種=大文字英字24種+小文字英字24種+数字10種)から12文字のパスワードを作る場合、
$ 64^{12} \fallingdotseq 3.2 \times 10^{21}
となり、32垓通り以上となります。
実際に解析するのにどれくらいの時間がかかるのか。
パスワードの強さを解析するサイト(HOW SECURE IS MY PASSWORD?)で調べたところ、3千年でした。
3千年もあれば安全といえるでしょう。
#パスワード