Вы можете попробовать это
SUM(CASE WHEN CHARINDEX(AREAS.RA_NAME, AD_Results.[Parent Container]) > 0 THEN 1 ELSE 0 END) AS RA_AD_Objects
Посмотрите на пакеты шифрования PEAR . Они не все полагаются на mcrypt - например, Crypt_Blowfish .
Если вы не возражаете против установки расширения mcrypt, этот код должен сделать это:
function Encrypt($string, $key)
{
if (extension_loaded('mcrypt') === true)
{
return base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, substr($key, 0, mcrypt_get_key_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB)), trim($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
return false;
}
function Decrypt($string, $key)
{
if (extension_loaded('mcrypt') === true)
{
return trim(mcrypt_decrypt(MCRYPT_BLOWFISH, substr($key, 0, mcrypt_get_key_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB)), base64_decode($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
return false;
}
function Encrypt_File($source, $destination, $key)
{
if (extension_loaded('mcrypt') === true)
{
if (is_file($source) === true)
{
$source = file_get_contents($source);
if (file_put_contents($destination, Encrypt($source, $key), LOCK_EX) !== false)
{
return true;
}
}
}
return false;
}
function Decrypt_File($source, $destination, $key)
{
if (extension_loaded('mcrypt') === true)
{
if (is_file($source) === true)
{
$source = file_get_contents($source);
if (file_put_contents($destination, Decrypt($source, $key), LOCK_EX) !== false)
{
return true;
}
}
}
return false;
}
как насчет простого xor?
function Crypt($source, $key)
{
$rv='';
for($i=0;$i<strlen($source);$i++)
{
$rv.=chr(ord($source[$i]) ^ ord($key[$i%strlen($key)]));
}
return $rv;
}
=> Crypt (Crypt ('aaa', 'key'), 'key') возвращает 'aaa'.
EDIT: конечно, Вы должны использовать
file_put_contents(Crypt(file_get_contents('file'), 'key'));
для чтения и записи файлов:]
Исправлена функция Crypt () Йоссариана:
function _Crypt($source, $key)
{
$result = '';
for($i = 0; $i < strlen($source); $i++)
{
$result .= chr(ord($source[$i]) ^ ord($key[$i % strlen($key)]));
}
return $result;
}
_Crypt('aaa', 'key'); //
_Crypt(_Crypt('aaa', 'key'), 'key'); // aaa