2011-03-28 14:21:28 +00:00
|
|
|
<?
|
|
|
|
/*************************************************************************|
|
|
|
|
|--------------- Encryption class ----------------------------------------|
|
|
|
|
|*************************************************************************|
|
|
|
|
|
|
|
|
This class handles encryption and decryption, that's all folks.
|
|
|
|
|
|
|
|
|*************************************************************************/
|
|
|
|
|
|
|
|
if (!extension_loaded('mcrypt')) {
|
|
|
|
error('Mcrypt Extension not loaded.');
|
|
|
|
}
|
|
|
|
|
|
|
|
class CRYPT {
|
2013-06-18 08:00:48 +00:00
|
|
|
public function encrypt($Str, $Key = ENCKEY) {
|
2011-03-28 14:21:28 +00:00
|
|
|
srand();
|
2013-06-18 08:00:48 +00:00
|
|
|
$Str = str_pad($Str, 32 - strlen($Str));
|
|
|
|
$IVSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
|
|
|
|
$IV = mcrypt_create_iv($IVSize, MCRYPT_RAND);
|
|
|
|
$CryptStr = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $Key, $Str, MCRYPT_MODE_CBC, $IV);
|
2011-03-28 14:21:28 +00:00
|
|
|
return base64_encode($IV.$CryptStr);
|
|
|
|
}
|
|
|
|
|
2013-06-18 08:00:48 +00:00
|
|
|
public function decrypt($CryptStr, $Key = ENCKEY) {
|
|
|
|
if ($CryptStr != '') {
|
|
|
|
$IV = substr(base64_decode($CryptStr), 0, 16);
|
|
|
|
$CryptStr = substr(base64_decode($CryptStr), 16);
|
|
|
|
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $Key, $CryptStr, MCRYPT_MODE_CBC, $IV));
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
|
|
|
return '';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} // class ENCRYPT()
|
|
|
|
?>
|