Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Verschlüsselungsfunktion – Instanzverwendung der sha1()-Funktionsverschlüsselung

PHP-Verschlüsselungsfunktion – Instanzverwendung der sha1()-Funktionsverschlüsselung

黄舟
黄舟Original
2017-06-18 14:19:497532Durchsuche

PHP-Verschlüsselungsfunktion – sha1()-Funktionsverschlüsselung

Lassen Sie uns zunächst vorstellen, was sha1 ist?

Der vollständige Name von sha lautet: Secure Hash Algorithm (Secure Hash Algorithm) und ist hauptsächlich auf den Digital Signature Algorithm DSA anwendbar, der im Digital Signature Standard (Digital Signature Standard DSS) definiert ist. Für Nachrichten mit einer Länge von weniger als 2^64 Bit erstellt SHA1 einen 160-Bit-Nachrichtendigest. Wenn eine Nachricht empfangen wird, kann dieser Nachrichtenauszug verwendet werden, um die Integrität der Daten zu überprüfen. Während des Übertragungsprozesses können sich die Daten ändern und zu diesem Zeitpunkt werden unterschiedliche Nachrichtenauszüge generiert. Die von PHP bereitgestellte Funktion sha1() verwendet den SHA-Algorithmus!

In den beiden zuvor vorgestellten Artikeln „PHP-Verschlüsselungsfunktion – crypt()-Funktionsverschlüsselung“ und „PHP-Verschlüsselungsfunktion – md5()-Funktionsverschlüsselung“, I Ich glaube, jeder hat ein gewisses Verständnis von Verschlüsselung. In diesem Kapitel werden wir weiterhin den Funktionsalgorithmus sha1() vorstellen, der der Funktion MD5() ähnelt.

Das Syntaxformat der Funktion sha1() lautet wie folgt:

string sha1 ( string $str [, bool $raw_output = false ] )
参数 描述
string 必需。规定要计算的字符串。
raw 可选。规定十六进制或二进制输出格式:TRUE - 原始 20 字符二进制格式FALSE - 默认。40 字符十六进制数

Die Funktion gibt eine 40-stellige Hexadezimalzahl zurück, wenn der Parameter raw_output ist true, dann wird eine 20-Bit-Binärzahl zurückgegeben. Der Standardwert ist raw_output, was false ist.

Hier möchten wir Folgendes hervorheben:

Die 1 nach sha ist die 1 in arabischen Ziffern (123456). Es ist nicht der Buchstabe l (L). Viele Leute werden es für einen Buchstaben halten, aber es ist eine arabische Zahl. Hier muss jeder aufpassen und keinen Fehler machen!

Das Folgende ist ein Beispiel für die Funktion sha1(). Der spezifische Code lautet wie folgt:

<?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>";
?>

Das Ausgabeergebnis ist:

PHP-Verschlüsselungsfunktion – Instanzverwendung der sha1()-Funktionsverschlüsselung

Das folgende Beispiel besteht darin, das Ergebnis von sha1() auszugeben und zu testen:

<?php
header("Content-Type:text/html; charset=utf-8");
$str = "中文网";
echo sha1($str);
if (sha1($str) == "b1d5e6240057f21930892531def6597f135252ca ")
{
    echo "<br>I love 中文网!";
    exit;
}
?>

Das Ausgabeergebnis ist:

PHP-Verschlüsselungsfunktion – Instanzverwendung der sha1()-Funktionsverschlüsselung

Das folgende Beispiel ist ein Vergleich von MD5- und SHA-Verschlüsselungsvorgängen. Der spezifische Code lautet wie folgt:

<?php
header("Content-Type:text/html; charset=utf-8");
$str = "中文网";
echo "MD5的加密结果:".md5($str)."<br>";
echo "<br>";
echo "sha1的加密结果:".sha1($str)."<br>";
?>

Das Ausgabeergebnis ist:

PHP-Verschlüsselungsfunktion – Instanzverwendung der sha1()-Funktionsverschlüsselung

Die drei wichtigsten Datenverschlüsselungsfunktionen in PHP, crypt(), md5() und sha1(), wurden im Folgenden vorgestellt In diesem Artikel stellen wir die beiden Erweiterungen der PHP-Verschlüsselungsbibliothek vor: Mcrypt und Mhash Library!


[Verwandte Empfehlungen]

1. Relevante Themenempfehlungen: „PHP-Verschlüsselungsfunktion

2. PHP-Verschlüsselungsfunktion – Anwendungsbeispiel für die Verschlüsselung der Funktion „crypt()“

3.PHP-Verschlüsselungsfunktion – Anwendungsbeispiel für die Verschlüsselung der Funktion „md5()“

4 . Video-Tutorial zur PHP-Verschlüsselungstechnologie


Das obige ist der detaillierte Inhalt vonPHP-Verschlüsselungsfunktion – Instanzverwendung der sha1()-Funktionsverschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn