class TsetEncrypt
{
protected $algorithm = MCRYPT_RIJNDAEL_128;
protected $mode = MCRYPT_MODE_ECB;
/**
* 加密方法
* @param string $str
* @return string
*/
public function encrypt($str, $screct_key)
{
/* 打开模块 */
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
/* 创建初始向量 */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td));
/* 创建密钥 */
$key_size = mcrypt_enc_get_key_size($td);
$key = substr(md5($screct_key), 0, $key_size);
/* 初始化加密 */
mcrypt_generic_init($td, $key, $iv);
/* 加密数据 */
$encrypted = mcrypt_generic($td, $str);
/* 结束加密,执行清理工作,并且关闭模块 */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return base64_encode($encrypted);
}
/**
* 解密方法
* @param string $str
* @return string
*/
public function decrypt($str, $screct_key)
{
/* 打开模块 */
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
/* 创建初始向量 */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td));
/* 创建密钥 */
$key_size = mcrypt_enc_get_key_size($td);
$key = substr(md5($screct_key), 0, $key_size);
/* 初始化解密 */
mcrypt_generic_init($td, $key, $iv);
/* 解密数据 */
$encrypted = base64_decode($str);
$decrypted = mdecrypt_generic($td, $encrypted);
/* 结束解密,执行清理工作,并且关闭模块 */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $decrypted;
}
}