prefix for crypt methods

This commit is contained in:
Roland Gruber 2011-08-21 18:35:59 +00:00
parent fdfde9bb04
commit ec0cf79fed
1 changed files with 12 additions and 10 deletions

View File

@ -186,19 +186,20 @@ class Ldap{
* Encrypts a string * Encrypts a string
* *
* @param string $data string to encrypt * @param string $data string to encrypt
* @param string $prefix prefix for cookie names
* @return object encrypted string * @return object encrypted string
*/ */
function encrypt($data) { public static function encrypt($data, $prefix='') {
// use MCrypt if available // use MCrypt if available
if (function_exists('mcrypt_create_iv')) { if (function_exists('mcrypt_create_iv')) {
// MCrypt may have been enabled in a running session // MCrypt may have been enabled in a running session
if (!isset($_COOKIE["IV"]) || ($_COOKIE["IV"] == '')) return $data; if (!isset($_COOKIE[$prefix . "IV"]) || ($_COOKIE[$prefix . "IV"] == '')) return $data;
if ($_COOKIE["IV"] == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") { if ($_COOKIE[$prefix . "IV"] == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") {
return $data; return $data;
} }
// read key and iv from cookie // read key and iv from cookie
$iv = base64_decode($_COOKIE["IV"]); $iv = base64_decode($_COOKIE[$prefix . "IV"]);
$key = base64_decode($_COOKIE["Key"]); $key = base64_decode($_COOKIE[$prefix . "Key"]);
// encrypt string // encrypt string
return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, base64_encode($data), MCRYPT_MODE_ECB, $iv); return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, base64_encode($data), MCRYPT_MODE_ECB, $iv);
} }
@ -212,19 +213,20 @@ class Ldap{
* Decrypts a string * Decrypts a string
* *
* @param object $data string to decrypt * @param object $data string to decrypt
* @param string $prefix prefix for cookie names
* @return string decrypted string * @return string decrypted string
*/ */
function decrypt($data) { public static function decrypt($data, $prefix='') {
// use MCrypt if available // use MCrypt if available
if (function_exists('mcrypt_create_iv')) { if (function_exists('mcrypt_create_iv')) {
// MCrypt may have been enabled in a running session // MCrypt may have been enabled in a running session
if (!isset($_COOKIE["IV"]) || ($_COOKIE["IV"] == '')) return $data; if (!isset($_COOKIE[$prefix . "IV"]) || ($_COOKIE[$prefix . "IV"] == '')) return $data;
if ($_COOKIE["IV"] == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") { if ($_COOKIE[$prefix . "IV"] == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") {
return $data; return $data;
} }
// read key and iv from cookie // read key and iv from cookie
$iv = base64_decode($_COOKIE["IV"]); $iv = base64_decode($_COOKIE[$prefix . "IV"]);
$key = base64_decode($_COOKIE["Key"]); $key = base64_decode($_COOKIE[$prefix . "Key"]);
// decrypt string // decrypt string
$ret = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_ECB, $iv); $ret = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_ECB, $iv);
$ret = base64_decode(str_replace(chr(00), "", $ret)); $ret = base64_decode(str_replace(chr(00), "", $ret));