Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwendet PHP einen benutzerdefinierten Schlüssel zum Ver- und Entschlüsseln von Daten?

Wie verwendet PHP einen benutzerdefinierten Schlüssel zum Ver- und Entschlüsseln von Daten?

小云云
小云云Original
2017-12-11 09:55:132471Durchsuche

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. In diesem Artikel wird hauptsächlich vorgestellt, wie PHP benutzerdefinierte Schlüssel zum Verschlüsseln und Entschlüsseln von Daten verwendet. Es geht um die Implementierung von Verschlüsselungs- und Entschlüsselungsfunktionen für die Zeichenfolgenkonvertierung, das Abfangen und andere Vorgänge. Ich hoffe, es kann jedem helfen.

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 ist erwähnenswert:

Wenn es auf das ID-Szenario in der URL angewendet wird, handelt es sich nach der Verschlüsselung um eine Base64-Codierung. Es wird empfohlen, urlencode() den Einfluss von zu entfernen + Zeichen.

Verwandte Empfehlungen:

PHP-String-Verschlüsselung und Entschlüsselung, gemeinsame Nutzung des Implementierungsprozesses

MySQL-Funktionen zur Verschlüsselung und Entschlüsselung

Tutorial zur Verwendung verschiedener Methoden der PHP-Verschlüsselung und -Entschlüsselung

Das obige ist der detaillierte Inhalt vonWie verwendet PHP einen benutzerdefinierten Schlüssel zum Ver- und Entschlüsseln von Daten?. 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