ホームページ  >  記事  >  バックエンド開発  >  PHPの暗号化関数についてのまとめ

PHPの暗号化関数についてのまとめ

WBOY
WBOYオリジナル
2016-07-25 08:58:13943ブラウズ
この記事では、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]


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。