时时商务社区
标题:
标准PHP的AES加密算法类
[打印本页]
作者:
新格网络
时间:
2018-2-14 05:48
分享一个标准PHP的AES加密算法类,其中mcrypt_get_block_size('rijndael-128', 'ecb');,如果在不明白原理的情况下比较容易搞错,可以通过mcrypt_list_algorithms函数查看你需要的加密算法标识。
[U]复制代码[/U] 代码如下:
_secrect_key = 'MYgGnQE2jDFADSFFDSEWsdD';
}
/**
* 加密方法
* @param string $str
* @return string
*/
public function encrypt($str){
//AES, 128 ECB模式加密数据
$screct_key = $this->_secrect_key;
$screct_key = base64_decode($screct_key);
$str = trim($str);
$str = $this->addPKCS7Padding($str);
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);
$encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_ECB, $iv);
return base64_encode($encrypt_str);
}
/**
* 解密方法
* @param string $str
* @return string
*/
public function decrypt($str){
//AES, 128 ECB模式加密数据
$screct_key = $this->_secrect_key;
$str = base64_decode($str);
$screct_key = base64_decode($screct_key);
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);
$encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_ECB, $iv);
$encrypt_str = trim($encrypt_str);
$encrypt_str = $this->stripPKSC7Padding($encrypt_str);
return $encrypt_str;
}
/**
* 填充算法
* @param string $source
* @return string
*/
function addPKCS7Padding($source){
$source = trim($source);
$block = mcrypt_get_block_size('rijndael-128', 'ecb');
$pad = $block - (strlen($source) % $block);
if ($pad
以上就是本文所述的全部内容了,希望对大家学习php的AES加密算法类有所帮助。
您可能感兴趣的文章:
PHP可逆加密/解密函数分享
php实现aes加密类分享
php中AES加密解密的例子小结
php写的AES加密解密类分享
2个比较经典的PHP加密解密函数分享
PHP实现AES256加密算法实例
PHP中加密解密函数与DES加密解密实例
php中base64_decode与base64_encode加密解密函数实例
PHP实现加密的几种方式介绍
PHP的AES加密算法完整实例
JS实现AES加密并与PHP互通的方法分析
PHP实现的简单AES加密解密算法实例
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2