Gibi bir şey mcrypt aradığınız muhtemelen ne olduğunu. Bu MD5 gibi bir özetleme fonksiyonları yapmazsanız iki yönlü şifreleme yapar.
Mcrypt kullanarak şifreleme için bu PHP5 sınıf deneyin. Bu durumda dvd şifreleme kullanıyor. Sen bunu kullanmak her site için anahtarını değiştirmek isteyeceksiniz. Bunu kullanmak istemiyorsanız, en azından bunun kendi sürümünü yazma konusunda size rehberlik edebilir.
<?php
class Encryption
{
const CYPHER = 'blowfish';
const MODE = 'cfb';
const KEY = '7QQvcT9Ga7R6QC3';
public function encrypt($plaintext)
{
$td = mcrypt_module_open(self::CYPHER, '', self::MODE, '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, self::KEY, $iv);
$crypttext = mcrypt_generic($td, $plaintext);
mcrypt_generic_deinit($td);
return $iv.$crypttext;
}
public function decrypt($crypttext)
{
$plaintext = '';
$td = mcrypt_module_open(self::CYPHER, '', self::MODE, '');
$ivsize = mcrypt_enc_get_iv_size($td);
$iv = substr($crypttext, 0, $ivsize);
$crypttext = substr($crypttext, $ivsize);
if ($iv)
{
mcrypt_generic_init($td, self::KEY, $iv);
$plaintext = mdecrypt_generic($td, $crypttext);
}
return $plaintext;
}
}
?>
Kullanımı:
$encrypted_string = Encryption::encrypt('this is a test'); // Åž-\Ž“kcþ1ÿ4gî:Xƒã%
$decrypted_string = Encryption::decrypt($encrypted_string); // this is a test