Salve a tutti, premetto che non sono un esperto in materia di criptazione.
Ho la necessità di criptare delle stringhe di testo da inserire successivamente in un database MYSQL.
Per criptare tali stringhe (si tratta dei dati personali degli utenti registrati) utilizzo questo script:
// cripta
function mc_encrypt($encrypt, $mc_key)
{[INDENT]$passcrypt = trim(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $mc_key, trim($encrypt), MCRYPT_MODE_ECB));
$encode = base64_encode($passcrypt);[/INDENT]
[INDENT]return $encode;[/INDENT]
}
// decripta
function mc_decrypt($decrypt, $mc_key)
{[INDENT]$decoded = base64_decode($decrypt);
$decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $mc_key, trim($decoded), MCRYPT_MODE_ECB));
return $decrypted;[/INDENT]
}
```e la chiave usata è:[PHP]$key ="ce278f459c8aI4bcKf8f4344";[/PHP]
Il problema è che alcune stringhe non vengono decriptare correttamente, ad esempio:
la parola "Lorenzo" diventa "P3jZl/wCBnJ3tTQCeqa65jBtaRfeAEIG6bW0vnjwyA==" e una volta decriptata diventa "?¡~g1øí×Øâüý<.l*Tp87$ $!9q}" ;
mentre "loreamd93" diventa "emOqOCNl0Tr8OUu/4LZJSiPJwgEtt2D/s34M/FekJdQ=" e ritorna "loreamd93" una volta decriptata.
La versione PHP di Apache è 5.3.13.
Qualcuno ha idea di dove sia il mio errore? Dove sto sbagliando?
Vi ringrazio anticipatamente :)