<?



function shif($str)

{

global $set;

$key=$set['shif'];

$str1=md5((string)$str);

$str2=md5($key);

return md5($key.$str1.$str2.$key);

}





function cookie_encrypt($str,$id=0)

{





if (function_exists('mcrypt_module_open'))

{

$td = mcrypt_module_open ('rijndael-256', '', 'ofb', '');

if (!$iv=@file_get_contents(H.'sys/dat/shif_iv.dat'))

{

$iv=base64_encode( mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM));

file_put_contents(H.'sys/dat/shif_iv.dat', $iv);

chmod(H.'sys/dat/shif_iv.dat', 0777);

}

$ks = @mcrypt_enc_get_key_size ($td);

/* Создать ключ */

$key = substr (md5 ($id.@$_SERVER['HTTP_USER_AGENT']), 0, $ks);

@mcrypt_generic_init ($td, $key, base64_decode($iv));

$str = @mcrypt_generic ($td, $str);

@mcrypt_generic_deinit ($td);

@mcrypt_module_close ($td);



}



$str=base64_encode($str);

return $str;

}



function cookie_decrypt($str,$id=0)

{

$str=base64_decode($str);



if (function_exists('mcrypt_module_open'))

{

$td = mcrypt_module_open ('rijndael-256', '', 'ofb', '');



if (!$iv=@file_get_contents(H.'sys/dat/shif_iv.dat'))

{

$iv=base64_encode( mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM));

file_put_contents(H.'sys/dat/shif_iv.dat', $iv);

chmod(H.'sys/dat/shif_iv.dat', 0777);

}

$ks = @mcrypt_enc_get_key_size ($td);

/* Создать ключ */

$key = substr (md5 ($id.@$_SERVER['HTTP_USER_AGENT']), 0, $ks);

@mcrypt_generic_init ($td, $key, base64_decode($iv));

$str = @mdecrypt_generic ($td, $str);

@mcrypt_generic_deinit ($td);

@mcrypt_module_close ($td);

}





return $str;

}



?>