Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einen Wert mit der AES_ECRYPT-Funktion von MySQL verschlüsseln und ihn dann mit PHP in einer URL-Zeichenfolge übergeben

Gelöst.

Nachdem ich die Zeichenfolge mit der Funktion AES_ENCRYPT von MySQL verschlüsselt habe, verwende ich die Funktion bin2hex() von PHP, um diese verschlüsselten Daten (die in binärer Form vorliegen) in Hexadezimal umzuwandeln. Ich übergebe dann das Hexadezimal als Zeichenfolge am Ende der URL. Sobald die URL am anderen Ende empfangen wurde, verwende ich diese benutzerdefinierte PHP-Funktion, um die Hex-Zeichenfolge wieder auf binär zurückzusetzen:

function hex2bin($data) {
    $len = strlen($data);
    return pack("H" . $len, $data);
}

Von dort aus müssen die Daten nur noch mit der AES_DECRYPT-Funktion von MySQL und wha-la entschlüsselt werden. Der ursprüngliche String wurde erfolgreich wiederhergestellt.