Signieren und Verifizieren in PHP

WBOY
Freigeben: 2023-05-23 16:14:01
Original
1674 Leute haben es durchsucht

Mit der Entwicklung der Internettechnologie ist Sicherheit zu einem immer wichtigeren Thema geworden, insbesondere die Sicherheit der in Internetanwendungen übertragenen Daten. Die Signatur- und Signaturüberprüfungstechnologie ist zu einem wichtigen Mittel zur Gewährleistung der Datensicherheit geworden. PHP bietet als beliebte Internet-Programmiersprache auch verwandte Funktionen für die Signatur und Signaturüberprüfung in PHP.

1. Das Konzept der Signatur und Signaturüberprüfung

Signatur bezieht sich auf die Verschlüsselung von Daten, um eine bestimmte Zeichenfolge basierend auf dem digitalen Signaturalgorithmus zu generieren. Diese Zeichenfolge kann verwendet werden, um die Integrität und Authentizität der Daten zu überprüfen und zu verhindern, dass Daten manipuliert oder gefälscht werden. Unter Signaturüberprüfung versteht man die Entschlüsselung der signierten Zeichenfolge, um die Authentizität und Integrität der entschlüsselten Daten zu überprüfen.

2. Signaturfunktionen in PHP

In PHP umfassen Signaturfunktionen hauptsächlich die Funktionen hash_hmac und openssl_sign.

  1. hash_hmac-Funktion

hmac-Funktion ist eine Hash-Verschlüsselungsfunktion, die mit PHP geliefert wird und mehrere Hash-Algorithmen wie MD5, SHA-1, SHA-256 usw. unterstützt. Die Schritte zum Verwenden dieser Funktion zum Signieren sind wie folgt:

$algorithm = "sha256"; // 签名算法 $key = "abcdefg"; // 签名的密钥 $data = "hello world"; // 待签名的数据 $signature = hash_hmac($algorithm, $data, $key); // 签名结果
Nach dem Login kopieren

Im obigen Code gibt $algorithm den Algorithmustyp an, $key ist der Signaturschlüssel, $data sind die zu signierenden Daten und $signature ist die erhaltene Zeichenfolge nach der Unterzeichnung.

  1. openssl_sign-Funktion

openssl_sign-Funktion ist eine OpenSSL-Erweiterungsfunktion in PHP, die mehrere Verschlüsselungsalgorithmen unterstützt:

$algorithm = "sha256"; // 签名算法 $key = "abcdefg"; // 签名的密钥 $data = "hello world"; // 待签名的数据 openssl_sign($data, $signature, $key, $algorithm); // 签名结果
Nach dem Login kopieren

Im obigen Code gibt $algorithm den Algorithmustyp an. $key ist der Signaturschlüssel, $data sind die zu signierenden Daten und $signature ist die nach dem Signieren erhaltene Zeichenfolge.

3. Signaturüberprüfungsfunktion in PHP

In PHP umfasst die Signaturüberprüfungsfunktion hauptsächlich die Funktionen hash_hmac und openssl_verify.

  1. hash_hmac-Funktion

Für Daten, die mit der hash_hmac-Funktion signiert wurden, sind die Schritte zur Verwendung zur Signaturüberprüfung wie folgt:

$algorithm = "sha256"; // 签名算法 $key = "abcdefg"; // 签名的密钥 $data = "hello world"; // 待签名的数据 $signature = hash_hmac($algorithm, $data, $key); // 签名结果 // 验证签名 if (hash_equals($signature, hash_hmac($algorithm, $data, $key))) { echo "验签成功!"; } else { echo "验签失败!"; }
Nach dem Login kopieren

Im obigen Code verwenden Sie zunächst die hash_hmac-Funktion, um die Daten zu signieren und die Signaturzeichenfolge zu erhalten . Verwenden Sie dann die Funktion hash_equals, um festzustellen, ob die Signaturergebnisse gleich sind, und stellen Sie dann fest, ob die Signaturüberprüfung erfolgreich ist.

  1. Funktion „openssl_verify“

Für Daten, die mit der Funktion „openssl_sign“ signiert wurden, sind die Schritte zur Verwendung zur Signaturüberprüfung wie folgt:

$algorithm = "sha256"; // 签名算法 $key = "abcdefg"; // 签名的密钥 $data = "hello world"; // 待签名的数据 openssl_sign($data, $signature, $key, $algorithm); // 签名结果 // 验证签名 if (openssl_verify($data, $signature, $key, $algorithm) === 1) { echo "验签成功!"; } else { echo "验签失败!"; }
Nach dem Login kopieren

Im obigen Code verwenden Sie zunächst die Funktion „openssl_sign“, um die Daten zu signieren und die Signaturzeichenfolge abzurufen . Verwenden Sie dann die Funktion openssl_verify, um festzustellen, ob das Signaturergebnis korrekt ist, und stellen Sie dann fest, ob die Signaturüberprüfung erfolgreich ist.

4. Zusammenfassung

Durch die Einleitung dieses Artikels haben wir die grundlegenden Konzepte der Signatur und Signaturüberprüfung in PHP sowie die Verwendung verwandter Funktionen kennengelernt. In tatsächlichen Internetanwendungen sind Signaturen und Signaturüberprüfungstechnologien zu wichtigen Mitteln zur Gewährleistung der Datensicherheit geworden. Wenn wir mit der Signatur und Signaturüberprüfungstechnologie in PHP vertraut sind, können wir die Datensicherheit besser gewährleisten.

Das obige ist der detaillierte Inhalt vonSignieren und Verifizieren in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!