パスワードをハッシュし、平文を保存せずに後で検証する
遅いパスワードハッシュ関数(bcrypt/PBKDF2/scrypt)でソルト付きハッシュを保存し、入力されたパスワードをそれと照合して検証します。
- 1
パスワードを平文や高速ハッシュ(MD5/SHA-256)で保存してはなりません。簡単に総当たり破解されます。意図的に CPU/メモリコストをかける遅いソルト付き KDF(bcrypt、scrypt、PBKDF2)を使えば、大量クラックが現実的でなくなります。
- 2 bcrypt ハッシュ生成 →
パスワードとコストファクタを入力します(対話用途には 10〜12、機密用途には 12〜14)。ツールは、アルゴリズム、コスト、ソルト、ダイジェストを含む自己記述的なハッシュを出力します。
- 3 ハッシュ比較ツール →
検証には、候補パスワードと保存された bcrypt ハッシュを入力します。ツールは埋め込みのソルトとコストで再ハッシュし、定数時間で比較します。タイミング情報を漏らさずに true/false を返します。
- 4 hash → crc32
ハッシュと検証のチェーンを使って、ライフサイクル全体をテストします。パスワードをハッシュし、正しい候補と誤った候補の両方を一度に検証します。
よくある質問
- なぜパスワードハッシュに SHA-256 を使えないのですか?
- SHA-256 は高速で、GPU は毎秒数十億回計算できます。bcrypt/scrypt は意図的に遅くメモリハードで、1 推論あたりミリ秒単位のコストをかけます。この非対称性こそが、遅いハッシュをオフライン総当たり攻撃から守るものです。
- コストファクタはどう選ぶべきですか?
- レイテンシ予算を満たす範囲で最も高いコストを選んでください。bcrypt では、コスト 10 は約 100ms、コスト 12 は約 400ms、コスト 14 は約 1.6 秒です。ハードウェアの高速化に合わせてコストを上げてください。ハッシュにコストが埋め込まれているため、古いハッシュも引き続き検証できます。
このタスクを解決するワークフロー
BLAKE ハッシュと CRC32 チェックサム
BLAKE ハッシュを計算し、整合性検証のために CRC32 チェックサムを計算する。 パイプライン
コンテンツのハッシュと Base64 エンコード
入力のハッシュを計算し、コンパクトな転送のためにハッシュダイジェストを Base64 としてエンコードする。 パイプライン
テキストのハッシュと整合性検証
入力テキストのハッシュを計算し、期待されるハッシュと比較して整合性を検証する。 パイプライン
テキストのハッシュと CRC32 チェックサム検証
データ整合性検証のために、暗号学的 SHA-256 ハッシュと CRC32 チェックサムの両方を計算する。 パイプライン
JSON フォーマットと整合性チェックサム計算
JSON ドキュメントを整形し、以降の変更を検出するために CRC32 チェックサムを計算する。 パイプライン
MD5 ハッシュ後に Base58 エンコード
MD5 ハッシュを計算し、コンパクトな表現のために Base58 としてエンコードする。 パイプライン
マルチハッシュ速度比較
入力をハッシュし、複数のハッシュアルゴリズムをベンチマークして速度と出力を比較する。 パイプライン
パスワード生成と Bcrypt ハッシュ
ランダムパスワードを生成し、認証システムのために Bcrypt ハッシュする。 パイプライン
パスワード生成と Bcrypt ハッシュ
強力なランダムパスワードを生成し、安全な保存のためにすぐに Bcrypt でハッシュする。 パイプライン
パスワード生成とハッシュ
ランダムパスワードを生成し、安全な保存のためにハッシュする。 パイプライン
SHA3-256 ハッシュと CRC32 チェックサム
SHA3-256 ハッシュを計算し、二重整合性検証のために CRC32 チェックサムを計算する。 パイプライン
SHA-512 ハッシュ後に Hex エンコード
SHA-512 ハッシュを計算し、可読性のために Hex としてエンコードする。 パイプライン
テキスト反転とハッシュ
テキストを反転し、その後反転結果の SHA-256 ハッシュを計算する。 パイプライン
テキストスクランブルとハッシュ
テキストをスクランブルし、その後スクランブル結果をハッシュする。 パイプライン
関連ツール
bcrypt ハッシュ生成
Hash passwords with bcrypt or verify bcrypt hashes。無料、プライベート、100%クライアントサイド。 ツール
PBKDF2 鍵導出
Derive a key from a password using PBKDF2 (RFC 2898) with Web Crypto API。無料、プライベート、100%クライアントサイド。 ツール
scrypt 鍵導出
Derive a key from a password using scrypt (memory-hard KDF)。無料、プライベート、100%クライアントサイド。 ツール
ハッシュ比較ツール
Compare MD5, SHA-1, SHA-256, SHA-384, SHA-512 of the same input。無料、プライベート、100%クライアントサイド。 ツール