php関数には多くの暗号化関数があり、データ暗号化関数を実装できるものの1つはcrypt()関数と呼ばれます。 crypt() 関数は一方向アルゴリズムを使用しており、対応する復号関数はありません。 DES、Blowfish、または MD5 アルゴリズムを使用して暗号化された文字列を返します。表面上、crypt() 関数はほとんど役に立たないように見えますが、この関数は実際にシステム パスワードの整合性を保証するために広く使用されています。なぜなら、一方向暗号化パスワードは第三者の手に渡っても平文に戻すことができないため、あまり役に立たないからです。 以下に、crypt() 関数の使用法についてまとめます。これは、皆さんの PHP 学習に役立つことを願っています。
crypt() 関数関連コンテンツ
1. PHP 暗号化関数—crypt() 関数の暗号化使用例
暗号化関数を紹介する前に、まずデータ暗号化の原理を紹介します。元のプレーン ファイルまたはデータは、特定のアルゴリズムに従って処理され、通常「暗号文」と呼ばれる読み取り不可能なコードになります。これにより、データを違法な盗難や読み取りから保護するという目的が達成されます。 PHP でデータを暗号化できる主な関数は、crypt()、md5()、sha1()、および暗号化拡張ライブラリ Mcrpyt と Mash です。この記事では、まず暗号化に crpyt() 関数を使用する方法を紹介します。
2. 暗号化には crypt() 関数を使用します - PHP 暗号化テクノロジ
crypt() 関数は一方向の暗号化であり、暗号文を平文に復元することはできず、各暗号化後のデータは同じではありません。どう判断しますか?
——これは、salt パラメータが解決すべき問題です。 crypt()関数はsaltパラメータを使用して平文を暗号化し、判定の際には出力情報を同じsaltパラメータで再度暗号化し、2回の暗号化後の結果を比較することで判定を行います。
3. PHP
crypt()関数でcrypt()を使用してユーザー認証を実装するためのコードは次のように定義されています。 string crypt (string input_string [, string Salt])
このうち、input_string パラメーターは、暗号化する必要がある平文文字列です。2 番目のオプションのソルトは、暗号化されたパスワードに影響を与え、暗号化される可能性をさらに排除する可能性があります。割れた。 。デフォルトでは、PHP は 2 文字の DES 干渉文字列を使用します。システムが MD5 を使用する場合 (次のセクションを参照)、PHP は 12 文字の干渉文字列を使用します。システムが使用する干渉ストリングの長さは、次のコマンドを実行することで確認できます。
print "私のシステムソルトサイズは: ". CRYPT_SALT_LENGTH;
4. PHP で crypt() を使用してユーザー認証を実装します
crypt() 関数は DES、Blowfish、または MD5 を使用して暗号化された文字列を返します。この関数はオペレーティング システムによって動作が異なり、一部のオペレーティング システムでは複数のアルゴリズム タイプがサポートされます。インストール時に、PHP は利用可能なアルゴリズムと使用されるアルゴリズムを確認します。 Windows 以外のプラットフォームの使用経験が少しある読者は、crypt() に精通しているかもしれません。この関数は、一部のプレーン コードを暗号化できますが、逆にパスワードを暗号化に戻すことはできません。オリジナルのコード。
PHP関数crypt()におけるこれらの暗号化パスワードに対応する平文コードはそれぞれkent、banner、parkerです。各パスワードの最初の 2 文字に注意してください。これは、次のコードを使用してパスワードの最初の 2 文字に基づいてジャム文字列を作成し、ユーザーにユーザー名の入力を求めるためです。 PHP についてあまり知られていない事実は、PHP は、Apache のパスワード応答システムによって入力されたユーザー名とパスワードを、認証スクリプトで使用される $PHP_AUTH_USER および $PHP_AUTH_PW として認識することです。
関連Q&A
1.laravel5.2 openssl_encrypt() ご質問がありますか?
2.md5 - PHP: crypt() 関数。暗号化されたパスワード値がソルト値と等しい可能性はありますか?
3. 【関連する推奨事項】1. [php 暗号化および復号化クラス ライブラリ] ダウンロードする 10 個の php 暗号化および復号化クラス ライブラリ
2. php 中国語 Web サイトの無料ビデオ チュートリアル:「php.cn Dugu Jiijian (4)-php ビデオ チュートリアル」
以上がPHP関数crypt()の暗号化使用法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。