Heim > Backend-Entwicklung > PHP-Tutorial > Eine Erklärung, wie PHP benutzerdefinierte Schlüssel zum Ver- und Entschlüsseln von Daten verwendet

Eine Erklärung, wie PHP benutzerdefinierte Schlüssel zum Ver- und Entschlüsseln von Daten verwendet

jacklove
Freigeben: 2023-04-02 19:00:02
Original
2700 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich vorgestellt, wie PHP benutzerdefinierte Schlüssel zum Verschlüsseln und Entschlüsseln von Daten verwendet. Dabei handelt es sich um PHP-bezogene Techniken zum Konvertieren und Abfangen von Zeichenfolgen, um Verschlüsselungs- und Entschlüsselungsfunktionen zu implementieren.

Das Beispiel In diesem Artikel wird beschrieben, wie PHP einen benutzerdefinierten Schlüssel zum Ver- und Entschlüsseln von Daten verwendet. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Wenn Client und Server kommunizieren, kommt es sehr häufig vor, dass eine ID als URL-Parameter hin und her übergeben wird. Unter der Annahme, dass das aktuelle Unternehmen nur über diese ID-Kennung verfügt, ist eine etwas sicherere Kommunikation erforderlich, um diese ID zu verschlüsseln und zu übertragen und sie anschließend an den Server zu entschlüsseln. Hierfür benötigen Sie einen vom Server geheim gehaltenen Schlüssel, der zur Ver- und Entschlüsselung dient.

Die Verschlüsselungs- und Entschlüsselungsmethoden lauten wie folgt: $str ist die Zeichenfolge, die verschlüsselt und entschlüsselt werden muss, $key ist ein von Ihnen selbst definierter Schlüssel

// 加密
function encryptStr($str, $key){
  $block = mcrypt_get_block_size('des', 'ecb');
  $pad = $block - (strlen($str) % $block);
  $str .= str_repeat(chr($pad), $pad);
  $enc_str = mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
  return base64_encode($enc_str);
}
// 解密
function decryptStr($str, $key){
  $str = base64_decode($str);
  $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
  $block = mcrypt_get_block_size('des', 'ecb');
  $pad = ord($str[($len = strlen($str)) - 1]);
  return substr($str, 0, strlen($str) - $pad);
}
Nach dem Login kopieren

Es lohnt sich. Eine Sache zu erwähnen ist:

Wenn es auf das Szenario der ID in der URL angewendet wird, wird empfohlen, nach der Verschlüsselung die Base64-Kodierung zu urlencode() zu entfernen Einfluss des +-Zeichens.

PS: Freunde, die sich für Ver- und Entschlüsselung interessieren, können auch auf die Online-Tools dieser Seite verweisen:

Text-Online-Verschlüsselung Entschlüsselungstools (einschließlich AES, DES, RC4 usw.):
http://tools.jb51.net/password/txt_encode

MD5 Online-Verschlüsselungstool:
http://tools.jb51.net/password/CreateMD5Password

Online-Hashing/Hash-Algorithmus-Verschlüsselungstool:
http://tools.jb51.net/password/hash_encrypt

Online MD5/hash/SHA-1/SHA-2/SHA-256/ SHA-512/ SHA-3/RIPEMD-160-Verschlüsselungstool:
http://tools.jb51.net/password/hash_md5_sha

Online sha1 /sha224/sha256 /sha384/sha512 Verschlüsselungstools:
http://tools.jb51.net/password/sha_encode

Artikel, die Sie interessieren könnten in:

Eine Beispielerklärung der in PHP implementierten einfachen Rechnerfunktion für vier arithmetische Operationen

Zugehörige Erklärung, wie eine nicht feste Anzahl von implementiert wird Parameter im Laravel-Routing

Anfänger-Tutorial für Laravel-Framework-Blade-Vorlagen

Das obige ist der detaillierte Inhalt vonEine Erklärung, wie PHP benutzerdefinierte Schlüssel zum Ver- und Entschlüsseln von Daten verwendet. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage