Mailinglisten-Archive |
Norbert Pfeiffer wrote:
>> Ich möchte einen String verschlüsseln und in einer Datenbank ablegen.
>> Später möchte ich diesen String wieder auslesen und entschlüsseln.
>> Geht das mit mcrypt?
>> Und wenn ja wie?
> nein! geht nicht,
Doch, geht schon:
function encrypt($key, $plain)
{
$td = mcrypt_module_open("blowfish", "", "cfb", "");
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $SECRET_KEY, $iv);
$text = mcrypt_generic($td, $KLARTEXT);
mcrypt_generic_deinit($td);
return base64_encode($iv.$text);
}
function decrypt($key, $crypt)
{
$crypt = base64_decode($crypt);
$td = mcrypt_module_open("blowfish", "", "cfb", "");
$ivsize = mcrypt_enc_get_iv_size($td);
$iv = substr($crypt, 0, $ivsize);
$crypt = substr($crypt, $ivsize);
if ($iv == "" || $crypt == "") {
return false;
}
mcrypt_generic_init($td, $key, $iv);
$plain = mdecrypt_generic($td, $crypt);
mcrypt_generic_deinit($td);
return $plain;
}
Sollte funktioniert, hab ich aus einer Klasse rauskopiert.
Gruß,
Martin
php::bar PHP Wiki - Listenarchive