PHP sha1()

王林
王林オリジナル
2024-08-29 12:55:181078ブラウズ

PHP sha1() 関数は、セキュリティ用語をより重視する必要があるサーバー側スクリプト言語であるため、PHP の一部として非常に重要な関数です。 PHP sha1() は、文字列のハッシュの SHA-1 の値を計算するセキュリティおよびハッシュ関数を処理します。 PHP sha1() は内部的に US Secure Hash Algorithm 1 のサブタイプを利用します。 Sha1() 関数は 160 文字の値を持つハッシュ文字列を生成し、このハッシュ文字列が関数への入力として与えられると出力を生成します。これは高度に保護されたメッセージ ダイジェストです。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

sha1(string, raw)

説明: sha1() 関数は、文字列と raw のような 2 種類の引数を使用します。これらは、文字列を生成し、値のある文字列の長さを計算するために使用されます。 raw は、別の引数またはパラメータであり、sha1() 関数で指定された場合、true または false などのオプションの値を含むパラメータを渡し、残りの値を渡して 16 進値またはバイナリ値を指定および記述します。出力形式。オプションの値が Raw 20 のように見える場合、それは 20 文字のバイナリ形式です。それ以外の場合は、特定の値を持つデフォルトの 40 文字の 16 進数です。

PHP では sha1() 関数はどのように動作しますか?

PHP はサーバー指向のスクリプト言語であるため、バックエンド関連のデータと操作を保存し、安全に保つために使用されます。 sha1() 関数は、パスワードとユーザー管理に関連するデータのセキュリティの問題を解決しました。 sha1() 関数とそのサブ アルゴリズム (US-Secure Hash アルゴリズム 1 など) は、メッセージ ダイジェストとデジタル署名の生成に使用されます。

SHA-1() 関数は、文字列が入力として与えられ、メッセージ ダイジェストが出力として与えられる方法で使用される US-Secure ハッシュ アルゴリズム 1 を利用します。入力は署名アルゴリズムに供給され、メッセージの署名がチェックおよび検証されます。実際のメッセージではなく署名メッセージを入力として使用すると、アルゴリズム全体の効率が向上する可能性が高くなります。

このプロセスは、署名アルゴリズムへの入力としての通常のハッシュ文字列メッセージと比較して、メッセージ入力およびメッセージ出力機能を最適化および圧縮します。さらに、このアルゴリズムが検証者によって使用される場合、デジタル署名の作成者はデジタル署名を使用できます。

sha_file() 関数は、ファイル関数のハッシュを使用する sha1() 関数の別のサブコンポーネントです。

ファイル名のこのファイル関数は、ファイルのハッシュを計算するために使用され、生の出力が 1 つ与えられ、メッセージまたは true または false の値を持つ文字列を返すために使用されます。関数内の Md5() アルゴリズムと関数内の crc32() も、文字列の多項式の生成に使用されます。また、洗練されたデジタル署名を使用して、より安全な文字列を生成するのにも役立ちます。

PHP sha1() 関数の実装例

以下に例を示します:

例 #1

彼のプログラムは、文字列のハッシュを取得するために 1 つの文字列値を渡した後の文字列の SHA-1 ハッシュの計算を表します。

コード:

<?php
$str = "welcome to educba";
echo sha1($str);
?>

出力:

PHP sha1()

例 #2

このプログラムは、1 つの文字列値を渡して文字列のハッシュを取得した後、文字列の SHA-1 ハッシュの計算を表し、出力に示されているように sha1 文字列の値を出力します。文字列の入力は「Welcome to Educba」として与えられ、出力には文字列値が表示されます。

コード:

<?php
$str = "Welcome to Educba";
echo "The string: ".$str."\n";
echo "TRUE - Represenation of Raw 20 character of binary format: ".sha1($str, TRUE)."\n";
echo "FALSE - representation of 40 character of hex number: ".sha1($str)."\n";
?>

出力:

PHP sha1()

例 #3

このプログラムは、1 つの文字列値を渡して文字列のハッシュを取得した後、文字列の SHA-1 ハッシュの計算を表し、出力に示されているように sha1 文字列の値を出力します。文字列の入力は「Welcome to Educba」として与えられ、出力には文字列値が表示されます。続いて、出力として供給される入力文字列のテストが続きます。

コード:

<?php
$str = "educba";
echo sha1($str);
if (sha1($str) == "49108e13b1505cd6147054cfd07fb52f4c9d2641")
{
echo "\n!educba";
exit;
}
?>

出力:

PHP sha1()

Example #4

This program is also a part of the sha1() function associated function of CRC 32 algorithm which takes a string “Hello World ” as input and then echoes the value without and with the string of % u value as shown in the output.

Code:

<?php
$str = crc32("Hello educba!");
echo 'Without %u: '.$str."\n";
echo 'With %u: ';
printf("%u",$str);
?>

Output:

PHP sha1()

Example #5

This program makes use of the password_hash function as part of the sha1() function and helps in generating the password_hash with an output value as shown and makes use of hashing function by putting the cost parameter as 12 to get the optimized message digest as the final output to optimize and increase the overall efficiency of the program.

Code:

<?php
$options = [
'cost' => 12,
];
echo password_hash("educba_is_a_laerning_portal", PASSWORD_BCRYPT, $options);
?>

Output:

PHP sha1()

Example #6

This program makes use of the hash () function to generate the message digest of the given function which will be further used to convert into a digital signature for optimization.

Code:

<?php
function lion($data = "", $width=182, $rounds = 4) {
return substr(
implode(
array_map(
function ($h) {
return str_pad(bin2hex(strrev($h)), 16, "0");
},
str_split(hash("tiger192,$rounds", $data, true), 8)
)
),
0, 48-(192-$width)/4
);
}
echo hash('tiger192,3', 'a-string'), PHP_EOL;
echo lion('a-string'), PHP_EOL;
?>

Output:

PHP sha1()

Example #7

This program illustrated the md5 algorithm to be fed as an input string which is also counted as one of the complementary parts of the sha1() algorithm.

Code:

<?php
$str = 'apple';
if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo " i want to have a green or red apple?";
}
?>

Output:

PHP sha1()

Conclusion

sha1() function is a part of PHP string references which includes a lot of security and cryptographic algorithms which is very necessary for the backend services and the servers for continuing the overall security breaches related issues and password and user management related data as secured.

以上がPHP sha1()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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