· すべてのガイド
ハッシュは暗号化ではない
ハッシュは一方通りのダイジェストであり、同じ入力も同じ出力を生成します。暗号化はキーで可逆的です。パスワードストレージは、片方向ハッシュ + 塩 + 遅いアルゴリズムを使用する必要があります。ハッシュジェネレータは MD5 、 SHA—256 のダイジェスト動作を理解するのに役立ちますが、パスワード保存には使用しないでください。
SHA—256 は、ファイルチェックサム、ブロックチェーン、 API 署名、高速で決定的な整合性に適しています。パスワードには意図的な遅さが必要です : bcrypt 、 scrypt 、 Argon 2 はブルートフォースに対するコストファクタを使用します。Towalles bcrypt ツールは学習のためのラウンドとハッシュフォーマットをデモンストレーションします。
パスワードポリシーおよび生成
強力なパスワードは無限の複雑さルールではない。現代の NIST のガイダンス : 長さ第一 ( 12 文字以上 ) 、違反データベースのチェック ( プーンされたか ) 、粘着性メモを駆動する強制回転を避ける。password—generator はランダムなパスワードフレーズを作成します。 password—strength はチームトレーニングのエントロピーと弱いパターンを評価します。テストのために実際の従業員のパスワードを収集しません。
マルチファクター認証は、長いパスワードを単独で上回ります。ツールサイトは ID プロバイダを置き換えることはできません。アプリケーションアーキテクチャに OAuth 、 WebAuthn 、 TOTP を実装します。ローカルジェネレータはテストアカウントのパスワードに適合します。デプロイ前に秘密管理または env 注入された資格情報に置き換えます。
API シグネチャと HMAC
ウェブフックやオープン API はしばしば HMAC—SHA 256 を使用してリクエストボディを検証します。クライアントとサーバは秘密を共有し、正規文字列上で MAC を計算し、比較します。これはパスワードハッシュとは異なり、 HMAC はタイミング攻撃に対する秘密かつ一定時間の比較を必要とします。ローカルでドキュメントサンプルを再生し、実装が公式 SDK 出力と一致することを確認します。
生産の秘密をオンラインツール ( タオルを含む ) に貼り付けることはありません。統合テストには編集されたサンプルや回転した古いキーを使用します。ハッシュジェネレータと hashc ジェネレータを組み合わせることで、 digest 、 keyed digest 、および JWT 署名 ( バックエンドのインタビューやコードレビューの頻繁なトピック ) の境界を明確にします。