<?php
class aesDemo{
/**
* aes密钥
* @var string
*/
private $_aesKey = "51abdV587iIltyab";
/**
* aes密钥向量
* @var string
*/
private $_aesIv = "1234567887654321";
/**
* aes加密
* @param $str
* @param $phpV php版本 >=5.3 openssl <5.3 mcrypt
* @return string
*/
public function getEncryptToken($str, $phpV)
{
if ($phpV >= 53) {
return base64_encode(openssl_encrypt($str, "AES-128-CBC", $this->_aesKey, 1, $this->_aesIv));
}
$decStr = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $this->_aesKey, $str, MCRYPT_MODE_CBC, $this->_aesIv);
return base64_encode($decStr);
}
/**
* aes解密
* @param $str
* @param $phpV php版本 >=5.3 openssl <5.3 mcrypt
* @return false|string
*/
public function getDecryptToken($str, $phpV)
{
if ($phpV >= 53) {
return openssl_decrypt($str, 'AES-128-CBC', $this->_aesKey, OPENSSL_ZERO_PADDING, $this->_aesIv);
}
return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->_aesKey, base64_decode($str), MCRYPT_MODE_CBC, $this->_aesIv);
}
}
?>
评论0