PHP暗号化関数—sha1()関数暗号化
まず、sha1とは何なのかを紹介しましょう。
sha の正式名称は次のとおりです。 セキュア ハッシュ アルゴリズム (Secure Hash Algorithm) は、主にデジタル署名標準 (デジタル署名標準 DSS) で定義されているデジタル署名アルゴリズム DSA に適用されます。長さが 2^64 ビット未満のメッセージの場合、SHA1 は 160 ビットのメッセージ ダイジェストを生成します。メッセージを受信すると、このメッセージ ダイジェストを使用してデータの整合性を検証できます。送信プロセス中にデータが変更される可能性があり、その時点で異なるメッセージ ダイジェストが生成されます。 PHP が提供する sha1() 関数は SHA アルゴリズムを使用します。
前の 2 つの記事「PHP 暗号化関数 - crypt() 関数の暗号化」と「PHP 暗号化関数 - md5() 関数の暗号化」で、皆さんは暗号化についてある程度の理解ができたと思います。引き続き、MD5() 関数と同様の sha1() 関数アルゴリズムを紹介します。
sha1() 関数の構文形式は次のとおりです:
string sha1 ( string $str [, bool $raw_output = false ] )
Parameters | Description |
string | 必須。計算する文字列を指定します。 |
生 | はオプションです。 16 進数またはバイナリの出力形式を指定します。 TRUE - 生の 20 文字のバイナリ形式 FALSE - デフォルト。 40 文字の 16 進数 |
関数は、パラメータ raw_output が true の場合、20 桁の 2 進数を返します。デフォルトでは、raw_output は false です。
ここで強調したいのは、
shaの後の1はアラビア数字(123456)の1であり、多くの人はそれを文字とみなすでしょうが、それは文字です。アラビア数字、皆さんもここに注意して間違えないようにしましょう!
以下は sha1() 関数の例です。 具体的なコードは次のとおりです。
<?php header("Content-Type:text/html; charset=utf-8"); $str = "中文网"; echo "字符串:".$str."<br>"; echo "TRUE - 原始 20 字符二进制格式:".sha1($str, TRUE)."<br>"; echo "FALSE - 40 字符十六进制数:".sha1($str)."<br>"; ?>
出力結果は次のとおりです。
次の例は、sha1() と を出力した結果です。テスト:
<?php header("Content-Type:text/html; charset=utf-8"); $str = "中文网"; echo sha1($str); if (sha1($str) == "b1d5e6240057f21930892531def6597f135252ca ") { echo "<br>I love 中文网!"; exit; } ?>
出力結果は次のとおりです:
次の例は、MD5 と SHA 暗号化操作の比較です。具体的なコードは次のとおりです:
<?php header("Content-Type:text/html; charset=utf-8"); $str = "中文网"; echo "MD5的加密结果:".md5($str)."<br>"; echo "<br>"; echo "sha1的加密结果:".sha1($str)."<br>"; ?>
出力結果は次のとおりです。
PHP の主要な 3 つのデータ暗号化関数これで、crypt()、md5()、sha1() の紹介は完了です。次の記事では、PHP 暗号化ライブラリ、Mcrypt と Mhash の 2 つの拡張ライブラリを紹介します。
【関連する推奨事項】
1. 関連トピックの推奨事項:「
PHP暗号化関数PHP暗号化関数—crypt()関数の暗号化使用例PHP暗号化関数— md5()関数暗号化の使用例PHP暗号化技術ビデオチュートリアル以上がPHP 暗号化関数 - sha1() 関数暗号化のインスタンスの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。