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); }
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
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!