class Crypt
{
protected $key = '123';
protected $algorithm = 'rijndael-128';
protected $mode = 'ecb';
// 加密
public function encrypt($data)
{
$td = mcrypt_module_open($this->algorithm, '', $this->mode, '');
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
mcrypt_generic_init($td, $this->key, $iv);
$c_t = mcrypt_generic($td, $data);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $c_t;
}
// 解密
public function decrypt($data)
{
$td = mcrypt_module_open($this->algorithm, '', $this->mode, '');
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
mcrypt_generic_init($td, $this->key, $iv);
$p_t = mdecrypt_generic($td, $data);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $p_t;
}
// 算法列表
public function algorithms_list()
{
return mcrypt_list_algorithms();
}
// 模式列表
public function modes_list()
{
return mcrypt_list_modes();
}
}