Mysql
 sql >> Base de données >  >> RDS >> Mysql

Chiffrer une valeur à l'aide de la fonction AES_ECRYPT de MySQL, puis la transmettre dans une chaîne d'URL à l'aide de PHP

Résolu.

Une fois que j'ai crypté la chaîne à l'aide de la fonction AES_ENCRYPT de MySQL, j'utilise la fonction bin2hex() de PHP pour convertir ces données cryptées (sous forme binaire) en hexadécimal. Je passe ensuite l'hexadécimal sous forme de chaîne à la fin de l'URL. Une fois l'URL reçue à l'autre bout, j'utilise ensuite cette fonction PHP personnalisée pour rétablir la chaîne hexadécimale en binaire :

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

À partir de là, tout ce qui reste à faire est de déchiffrer les données à l'aide de la fonction AES_DECRYPT de MySQL et de wha-la. La chaîne d'origine est restaurée avec succès.