class daveCrypto
{
var $td;
function daveCrypto($key = '%^$@()^ikjugv8765d%^7c(*(CIUJCX*icIUYTXicjghcytx654&*Guibg098UIBV{PF)*E', $iv = false, $algorithm = 'tripledes', $mode = 'ecb')
{
if(extension_loaded('mcrypt') === FALSE)
{
$prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
dl($prefix . 'mcrypt.' . PHP_SHLIB_SUFFIX) or die('mcrypt module cannot be loaded');
}
if($mode != 'ecb' && $iv === false)
{
die('initialization vector not specified');
}
$this->td = mcrypt_module_open($algorithm, '', $mode, '') ;
$random_seed = strstr(PHP_OS, "WIN") ? MCRYPT_RAND : MCRYPT_DEV_RANDOM;
$iv = ($iv === false) ? mcrypt_create_iv(mcrypt_enc_get_iv_size($this->td), $random_seed) : substr($iv, 0, mcrypt_enc_get_iv_size($this->td));
$expected_key_size = mcrypt_enc_get_key_size($this->td);
$key = substr(md5($key), 0, $expected_key_size);
mcrypt_generic_init($this->td, $key, $iv);
}
etc...