Heim Backend-Entwicklung PHP-Tutorial Neue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt

Neue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt

Mar 27, 2024 am 08:21 AM
验证 签名 php 新特性 Standardbibliothek

PHP 8 新特性:增加了验证和签名

PHP 8 ist die neueste Version von PHP und bietet Programmierern mehr Komfort und Funktionalität. Bei dieser Version liegt ein besonderer Schwerpunkt auf Sicherheit und Leistung, und eine der bemerkenswerten neuen Funktionen ist die Hinzufügung von Verifizierungs- und Signierungsfunktionen. In diesem Artikel werfen wir einen genaueren Blick auf diese neuen Funktionen und ihre Verwendung.

Verifizierung und Signierung sind sehr wichtige Sicherheitskonzepte in der Informatik. Sie dienen häufig dazu, sicherzustellen, dass die übermittelten Daten vollständig und authentisch sind. Verifizierung und Signaturen werden besonders wichtig, wenn es um Online-Transaktionen und vertrauliche Informationen geht, denn wenn jemand die Daten manipulieren könnte, könnte dies zu unvorhersehbaren Schäden für das Unternehmen und die Kunden führen.

In PHP 8 gibt es zwei neue Erweiterungen für die Handhabung von Verifizierung und Signierung: Sodium und OpenSSL. Diese Erweiterungen erleichtern die Verwendung moderner Kryptografie- und Sicherheitsprotokolle in PHP.

Natrium-Erweiterung

Natrium ist eine moderne Kryptografiebibliothek, die API-Zugriff auf viele kryptografische Algorithmen und Sicherheitsfunktionen bietet. Sie ist zur bevorzugten Bibliothek für Entwickler geworden, die mit sicherer Kryptografie arbeiten, da sie auf modernsten Kryptografiestandards wie Curve25519 und Chacha20 basiert.

In PHP 7.2 wurde die Sodium-Erweiterung zur PHP-Standardbibliothek hinzugefügt und wurde in PHP 7.2 zu einer optionalen Erweiterung. In PHP 8 ist es zur Standarderweiterung geworden.

Verwenden Sie die Sodium-Erweiterung zur Verifizierung

Die Sodium-Erweiterung bietet eine Funktion namens Sodium_crypto_sign_scribed(), die zum Signieren von Daten verwendet werden kann. Die Signatur generiert eine bestimmte Zeichenfolge, mit der überprüft werden kann, ob die Daten manipuliert wurden.

Hier ist ein Beispiel für das Signieren und Verifizieren mit der Funktion „sodium_crypto_sign_scribed()“:

<?php
$data = "hello world";
$keys = sodium_crypto_sign_keypair();

$signature = sodium_crypto_sign_detached($data, $keys['secret']);

if (sodium_crypto_sign_verify_detached($signature, $data, $keys['public'])) {
   echo "签名有效";
} else {
   echo "签名无效";
}
Nach dem Login kopieren

In diesem Beispiel generieren wir zunächst ein Paar aus öffentlichen und privaten Schlüsseln. Verwenden Sie dann die Funktion $sodium_crypto_sign_scribed(), um die Zeichenfolge zu signieren und das Signaturergebnis in der Variablen $signature zu speichern. Verwenden Sie abschließend die Funktion $sodium_crypto_sign_verify_scribed(), um zu überprüfen, ob die Signatur gültig ist.

Wenn die Signatur gültig ist, wird „Signatur ist gültig“ auf dem Bildschirm gedruckt, andernfalls wird „Signatur ist ungültig“ gedruckt.

Authentifizierung mit der OpenSSL-Erweiterung

OpenSSL ist eine beliebte Verschlüsselungs- und Sicherheitsbibliothek, die viele Verschlüsselungsalgorithmen und Sicherheitsfunktionen bietet. OpenSSL-Erweiterungen wurden in PHP integriert, was die Verwendung von OpenSSL in PHP komfortabler macht.

Die OpenSSL-Erweiterung bietet eine weitere Funktion namens openssl_sign(), die Daten signieren kann. Ebenso stellt die Erweiterung auch die Funktion openssl_verify() zur Überprüfung von Signaturen bereit.

Hier ist ein Beispiel für das Signieren und Verifizieren mit den Funktionen „openssl_sign()“ und „openssl_verify()“:

<?php
$data = "hello world";
$key = openssl_pkey_new(['digest_alg' => 'sha512']);

openssl_sign($data, $signature, $key);

if (openssl_verify($data, $signature, $key)) {
   echo "签名有效";
} else {
   echo "签名无效";
}
Nach dem Login kopieren

In diesem Beispiel generieren wir zunächst ein öffentliches und privates Schlüsselpaar mit der Funktion „openssl_pkey_new()“. Verwenden Sie dann die Funktion openssl_sign(), um die Zeichenfolge zu signieren und das Signaturergebnis in der Variablen $signature zu speichern. Verwenden Sie abschließend die Funktion openssl_verify(), um zu überprüfen, ob die Signatur gültig ist.

Wenn die Signatur gültig ist, wird „Signatur ist gültig“ auf dem Bildschirm gedruckt, andernfalls wird „Signatur ist ungültig“ gedruckt.

Fazit

Verifizierung und Signierung sind wichtige Methoden zur Gewährleistung der Datensicherheit. In PHP 8 erleichtern die Erweiterungen Sodium und OpenSSL die Verifizierung und Signatur. Entwickler können diese neuen Funktionen nutzen, um Unternehmen und Kunden sicherere Dienste bereitzustellen. Wenn Sie ein PHP-Entwickler sind, empfehlen wir Ihnen, sich eingehend mit den Sodium- und OpenSSL-Erweiterungen zu befassen, um die Sicherheit zu maximieren und Ihre Benutzer zu schützen.

Das obige ist der detaillierte Inhalt vonNeue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie einen absoluten Wert in C++ So verwenden Sie einen absoluten Wert in C++ May 06, 2024 pm 06:15 PM

Es gibt zwei Möglichkeiten, absolute Werte in C++ zu erhalten: 1. Verwenden Sie die integrierte Funktion abs(), um den absoluten Wert eines Ganzzahl- oder Gleitkommatyps zu erhalten. 2. Verwenden Sie die generische Funktion std::abs(), um Erhalten Sie verschiedene unterstützte absolute Werte. Arbeitet mit absoluten Werten von Datentypen.

So verwenden Sie std:: in C++ So verwenden Sie std:: in C++ May 09, 2024 am 03:45 AM

std ist der Namespace in C++, der Komponenten der Standardbibliothek enthält. Um std zu verwenden, verwenden Sie die Anweisung „using namespace std;“. Die direkte Verwendung von Symbolen aus dem std-Namespace kann Ihren Code vereinfachen, wird jedoch nur bei Bedarf empfohlen, um eine Verschmutzung des Namespace zu vermeiden.

So öffnen Sie ein Fenster in Python So öffnen Sie ein Fenster in Python May 05, 2024 pm 08:15 PM

Es gibt zwei Möglichkeiten, Popups in Python zu erstellen: Tkinter: Verwenden Sie die Tkinter-Bibliothek, um Tk- oder TopLevel-Widgets zu erstellen. Pyglet: Verwenden Sie die Pyglet-Bibliothek, um Fensterfenster zu erstellen.

Was bedeutet Primzahl in C++? Was bedeutet Primzahl in C++? May 07, 2024 pm 11:33 PM

prime ist ein Schlüsselwort in C++, das den Primzahltyp angibt, der nur durch 1 geteilt werden kann. Es wird als boolescher Typ verwendet, um anzugeben, ob der angegebene Wert eine Primzahl ist wahr, andernfalls ist es falsch.

Was bedeutet Fabs in C++? Was bedeutet Fabs in C++? May 08, 2024 am 01:15 AM

Die Funktion fabs() ist eine mathematische Funktion in C++, die den absoluten Wert einer Gleitkommazahl berechnet, das negative Vorzeichen entfernt und einen positiven Wert zurückgibt. Es akzeptiert einen Gleitkommaparameter und gibt einen absoluten Wert vom Typ Double zurück. Fabs(-5.5) gibt beispielsweise 5,5 zurück. Diese Funktion arbeitet mit Gleitkommazahlen, deren Genauigkeit von der zugrunde liegenden Hardware beeinflusst wird.

_komplexe Verwendung in C-Sprache _komplexe Verwendung in C-Sprache May 08, 2024 pm 01:27 PM

Der komplexe Typ wird zur Darstellung komplexer Zahlen in der C-Sprache verwendet, einschließlich Real- und Imaginärteilen. Seine Initialisierungsform ist complex_number = 3.14 + 2.71i, auf den Realteil kann über creal(complex_number) und auf den Imaginärteil über cimag(complex_number) zugegriffen werden. Dieser Typ unterstützt gängige mathematische Operationen wie Addition, Subtraktion, Multiplikation, Division und Modulo. Darüber hinaus wird eine Reihe von Funktionen zum Arbeiten mit komplexen Zahlen bereitgestellt, z. B. cpow, csqrt, cexp und csin.

Was bedeutet Konfiguration in Java? Was bedeutet Konfiguration in Java? May 07, 2024 am 02:39 AM

Config stellt Konfigurationsinformationen in Java dar und wird zum Anpassen des Anwendungsverhaltens verwendet. Es wird normalerweise in externen Dateien oder Datenbanken gespeichert und kann über Java Properties, PropertyResourceBundle oder Bibliotheken von Drittanbietern verwaltet werden. Umweltbewusstsein, Handhabbarkeit, Skalierbarkeit.

So berechnen Sie den absoluten Wert in C++ So berechnen Sie den absoluten Wert in C++ May 06, 2024 pm 06:21 PM

Es gibt drei Möglichkeiten, den Absolutwert in C++ zu ermitteln: Mit der Funktion abs() können Sie den Absolutwert jeder Art von Zahl berechnen. Mit der Funktion std::abs() können Sie den Absolutwert von Ganzzahlen, Gleitkommazahlen und komplexen Zahlen berechnen. Manuelle Berechnung absoluter Werte, geeignet für einfache ganze Zahlen.

See all articles