Mysql
 sql >> Database >  >> RDS >> Mysql

Crittografia di un valore utilizzando la funzione AES_ECRYPT di MySQL, quindi passandolo in una stringa URL, utilizzando PHP

Risolto.

Dopo aver crittografato la stringa utilizzando la funzione AES_ENCRYPT di MySQL, utilizzo la funzione bin2hex() di PHP per convertire i dati crittografati (che sono in forma binaria) in esadecimale. Quindi passo l'esadecimale come stringa alla fine dell'URL. Una volta ricevuto l'URL dall'altra parte, utilizzo questa funzione PHP personalizzata per ripristinare la stringa esadecimale in binari:

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

Da lì, tutto ciò che resta da fare è decrittografare i dati utilizzando la funzione AES_DECRYPT di MySQL e wha-la. La stringa originale è stata ripristinata correttamente.