シークレットと、その証明
ここに並ぶツールは、一見バラバラに見えますが、共通点に気づくと見え方が変わります。
パスワードジェネレーターは、誰にも推測できないシークレットを作ります。抽選検証ツールは、誰にも予測できなかった結果が、後からこっそり選ばれたものではないことを証明します。どちらもランダム性についての問いですが、一方はそれを秘密にしておくこと、もう一方はそれが本物だったと示せることについてのものです。
その2つ目の問いこそ、多くのサイトが見落としているものです。プレゼント企画、抽選会、シフトの割り当て——主催者は抽選が公正だったと知っていても、他の全員はその言葉を信じるしかありません。シードとフィンガープリントの組み合わせは、「信じてください」を、参加者自身が確認できるものに変えます。
用途別の選び方
認証情報を作る — ログイン用のパスワード、記憶して自分で入力するパスフレーズ、数字のPIN、設定ファイル用のAPIキー。この4種類はすべてパスワードジェネレーターから生成でき、エントロピーと推定解読時間も表示されるので、選ぶ長さは当てずっぽうではなく根拠のある判断になります。
他人が行った抽選を確認する — 証明書を抽選検証ツールに貼り付けてください。シードから結果を再計算し、フィンガープリントと照合します。どちらか一方でも一致しなければ、抽選後に数値が変更されたということです。
ここでパスワードを生成することが矛盾ではない理由
Webサイトからパスワードを取得するというのは、一見すると最悪の入手方法に思えます。実際、多くの場合はその通りです——値がサーバー上で生成されるなら、それはあなたの手元に届く前に他人のマシン上に存在していたことになり、そこで何が起きたかを知る術はありません。
ここではサーバー上で何も生成されません。文字はcrypto.getRandomValues()——あなたのOSのエントロピープールに支えられたブラウザAPIで、ブラウザがHTTPSを確立するときに使うのと同じ源です——から取り出されます。このページは利用中に一切ネットワークリクエストを送りません。開発者ツールのネットワークタブを開いてパスワードを生成し、何も起きないのを確認すれば、それを自分の目で確かめられます。それすら信用したくない場合は、先にネットワークを切断してください。ツールはそれでも動作します。
このカテゴリーに意図的に含まれていないもの
既存のパスワードを貼り付けて強度を確認するチェッカーはありません。サイトがどう約束していようと、実在するパスワードをWebフォームに入力して「チェック」してもらうのは望ましくない習慣であり、このジェネレーターはすでに、自ら生成したパスワードのエントロピーを表示しています。
漏洩チェック、パスワードマネージャー、ハッシュ化ツールもありません。マネージャーが必要なら専用のものを使ってください——Bitwarden、1Password、KeePassはいずれも、このサイトには解決できない問題、つまりパスワードを覚えておくことを解決してくれます。漏洩チェックにはHave I Been Pwnedが定番です。