ホームページ >バックエンド開発 >PHPチュートリアル >PHP データ暗号化方式の詳細な分析
次に、次のデータがすでにテーブルに格納されていると仮定します。
では、Apache のパスワード応答認証構成を使用して、ユーザーにユーザー名とパスワードの入力を求めます。PHP についてあまり知られていない事実は、Apache のパスワード応答をシステム入力に渡すことができるということです。ユーザーの名前とパスワードは $PHP_AUTH_USER と $PHP_AUTH_PW として識別され、認証スクリプトで使用します。次のコードをよりよく理解するために、時間をかけて以下のスクリプトを注意深く読み、説明にもっと注意を払ってください。 crypt() と Apache のパスワード応答検証システムの応用
上記は、ユーザーのアクセス権を確認するための簡単な認証システムです。重要な機密情報を保護するために crypt() を使用する場合は、デフォルトで使用される crypt() が最も安全ではなく、より高いセキュリティ要件が必要な場合にのみ使用できることに注意してください。パフォーマンスには、この後で紹介するアルゴリズムが必要です。記事。 次に、PHP━━md5() でサポートされている別の関数を紹介します。この関数は MD5 ハッシュ アルゴリズムを使用します。これには、言及する価値のあるいくつかの興味深い用途があります。 混合 ハッシュ関数は、可変長メッセージを固定長のハッシュ出力 (「メッセージ ダイジェスト」とも呼ばれます) に変換します。これは、固定長の文字列を使用してファイルの整合性をチェックし、デジタル署名とユーザー認証を検証できるため便利です。 PHP に適しているため、PHP の組み込み md5() ハッシュ関数は、可変長メッセージを 128 ビット (32 文字) のメッセージ ダイジェストに変換します。混合エンコーディングの興味深い特徴は、混合結果が元のプレーン コードの内容に依存しないため、混合情報を分析しても元のプレーン コードを取得できないことです。 文字列内の 1 文字だけを変更した場合でも、MD5 ハイブリッド アルゴリズムは 2 つのまったく異なる結果を計算します。まず、次の表の内容とそれに対応する結果を見てみましょう。 md5() を使用して文字列を混合する
結果: ハッシュ2: e86cf511bd5490d46d5cd61738c82c0c 両方の結果の長さは 32 文字ですが、平文の小さな変更が結果に大きな変更を引き起こすことがわかります。したがって、ハッシュ関数と md5() 関数は、データの小さな変更を確認する良い方法です。のツール。 crypt() と md5() にはそれぞれ用途がありますが、どちらも機能に一定の制限があります。次のセクションでは、PHP ユーザーの暗号化オプションを大幅に拡張する、Mcrypt と Mhash という 2 つの非常に便利な PHP 拡張機能を紹介します。 上記のセクションでは一方向暗号化の重要性について説明しましたが、暗号化後にパスワード データを元のデータに復元する必要がある場合があります。幸いなことに、PHP はこれを Mcrypt 拡張ライブラリの形式で提供します。 マクリプト Mcrypt 2.5.7 Unix | Mcrypt 2.4.7 は強力な暗号化アルゴリズム拡張ライブラリであり、次のアルゴリズムを含む 22 のアルゴリズムが含まれています。 Blowfish RC2 Safer-sk64 xtea キャスト-256 RC4 セーファー-sk128 DES RC4-iv サーペント Enigma Rijndael-128 スリーウェイ Gost Rijndael-192 TripleDES LOKI97 Rijndael-256 トゥーフィッシュ PanamaSaferplus ウェイク 1 2 次のページ 最後のページ |