この記事では、PHP の暗号化に関連するいくつかの関数の使用方法を紹介します。必要な方は参考にしてください。
phpで暗号化を実装する関数は次のとおりです。 1,md5() 2.sha1() 3.crc32() 4.crypt() 5.uniqid() 1、md5()関数 定義と使用法 md5() 関数は、文字列の MD5 ハッシュを計算します。 md5() 関数は、MD5 メッセージ ダイジェスト アルゴリズムを含む RSA データ セキュリティを使用します。 成功した場合は計算された MD5 ハッシュを返し、失敗した場合は false を返します。 文法 md5(文字列,生) パラメータの説明 弦 必須。計算する文字列を指定します。 生 生 オプション。 16 進数またはバイナリの出力形式を指定します。 TRUE - 生の 16 文字のバイナリ形式 FALSE - デフォルト。 32 文字の 16 進数 注: このパラメータは PHP 5.0 で追加されました。 例: リーリー出力: 8b1a9953c4611296a827abf8c47804d7 2、sha1()関数: 定義と使い方 sha1() 関数は、文字列の SHA-1 ハッシュを計算します。 sha1() 関数は、US Secure Hash アルゴリズム 1 を使用します。 成功した場合は計算された SHA-1 ハッシュを返し、失敗した場合は false を返します。 文法 sha1(文字列,生) パラメータの説明 文字列が必要です。計算する文字列を指定します。 チャーリスト オプション。 16 進数またはバイナリの出力形式を指定します。 TRUE - 生の 20 文字のバイナリ形式 FALSE - デフォルト。 40 文字の 16 進数 注: このパラメータは PHP 5.0 で追加されました。 3. crc32() 関数: 定義と使用法 crc32() 関数は、文字列の crc32 多項式を計算します。 この機能は、データの整合性を検証するために使用できます。 文法 crc32(文字列) 文字列が必要です。計算する文字列を指定します。 説明書 文字列パラメータの 32 ビット巡回冗長検査コード多項式を生成します。これは通常、送信されたデータが完全であるかどうかを確認するために使用されます。 ヒントとメモ ヒント: PHP の整数は符号付きであるため、多くの crc32 チェック コードは負の整数を返すため、sprintf() または printf() の "%u" フォーマッタを使用して、符号なしの crc32 チェック コード文字列を表す文字を取得する必要があります。 「%u」フォーマッタを使用した場合と使用しない場合で crc32() の結果を出力する例 (結果は同じであることに注意してください): リーリー出力: %u なし: 461707669 %u と: 461707669 例 2、この例では、 crc32() の結果は、「%u」形式文字を含む場合と含まない場合で出力されます (結果が異なることに注意してください)。 リーリー 出力: %u なし: -1959132156 %u あり: 2335835140 4. uniqid() 関数: 定義と使用法 uniqid() 関数は、マイクロ秒単位の現在時刻に基づいて一意の ID を生成します。文法 uniqid(プレフィックス,more_entropy) プレフィックスはオプションです。 ID のプレフィックスを指定します。このパラメータは、両方のスクリプトが同じ微妙さで ID を生成する場合に役立ちます。 more_entropy はオプションです。戻り値の最後により多くのエントロピーを指定します。 説明書 prefix パラメータが空の場合、返される文字列の長さは 13 文字になります。 more_entropy パラメータが true に設定されている場合、長さは 23 文字列になります。 more_entropy パラメーターが true に設定されている場合、追加のエントロピーが (結合線形合同生成器を使用して) 戻り値の末尾に追加され、結果がより固有になります。 戻り値 一意の識別子を文字列として返します。 ヒントとメモ 注: この関数によって生成される ID はシステム時間に基づいているため、最適とは言えません。完全に一意の ID を生成するには、md5() 関数を使用します (この関数については、「文字列関数リファレンス」を参照してください)。 例: リーリー 出力は次のようになります: 4415297e3af8c 5. crypt() 関数: 定義と使用法 crypt() 関数は、DES、Blowfish、または MD5 を使用して暗号化された文字列を返します。 この関数はオペレーティング システムによって動作が異なり、一部のオペレーティング システムでは複数のアルゴリズム タイプがサポートされます。インストール時に、PHP はどのアルゴリズムが利用可能か、またどのアルゴリズムが使用されているかを確認します。文法 crypt(str,salt) str が必要です。エンコードする文字列を指定します。 塩 オプション。エンコードの安全性を高めるために、エンコードされる文字の数を増やすために使用される文字列。 ソルト引数が指定されていない場合、関数が呼び出されるたびにソルト引数がランダムに生成されます。 ヒントとメモ ヒント: 復号化機能はありません。 crypt() 関数は一方向アルゴリズムを使用します。 さまざまなアルゴリズムをテストする例: リーリー 次のような出力 (OS に依存します): 標準 DES: $1$r35.Y52.$iyiFuvM.zFGsscpU0aZ4e。 拡張 DES はサポートされていません。 MD5: $1$BN1.0I2.$8oBI/4mufxK6Tq89M12mk/ Blowfish DES はサポートされていません。正確なアルゴリズムはsaltパラメータの形式と長さに依存することに注意してください。 ここでは、crypt() 関数で使用されるいくつかの定数を示します。 これらの定数は、インストール時に PHP によって設定されます。 [CRYPT_SALT_LENGTH] [CRYPT_STD_DES] [CRYPT_EXT_DES] [CRYPT_MD5] [CRYPT_BLOWFISH] |