使用openssl_encrypt方法替代mcrypt_encrypt做AES加密
来源:互联网 发布:淘宝客源码自动采集 编辑:程序博客网 时间:2024/06/06 02:04
mcrypt_encrypt在php7.1中已被废弃,需要使用openssl_encrypt代替
//mdecrypt_generic版public function encrypt_cbc($str,$iv,$encryptKey){ $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $iv); mcrypt_generic_init($module, $encryptKey, $iv); //加上以下三行,可以与encrypt_openssl得到一致的加密结果,但是加密结果用mdecrypt_generic解密与decrypt_openssl结果不一致 $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); $encrypted = mcrypt_generic($module, $str); return base64_encode($encrypted);}//mdecrypt_generic版解密function decrypt_cbc($str,$iv,$encryptKey){ $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $iv); mcrypt_generic_init($module, $encryptKey, $iv); return mdecrypt_generic($module, base64_decode($str));}//mcrypt_encrypt版加密public function encrypt_hezuo($str,$localIV,$encryptKey){ //加上以下三行,可以与encrypt_openssl得到一致的加密结果,但是加密结果用mcrypt_decrypt解密与decrypt_openssl结果不一致 $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $encryptKey, $str, MCRYPT_MODE_CBC, $localIV));}//mcrypt_decrypt版解密public function decrypt_hezuo($str,$localIV,$encryptKey){ return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $encryptKey, base64_decode($str), MCRYPT_MODE_CBC, $localIV);}//encrypt_openssl新版加密function encrypt_openssl($str,$localIV,$encryptKey){ return openssl_encrypt($str, 'AES-128-CBC',$encryptKey,0,$localIV);}//decrypt_openssl新版解密function decrypt_openssl($str,$localIV,$encryptKey){ return openssl_decrypt($str, 'AES-128-CBC', $encryptKey, 0, $localIV);}
阅读全文
0 0
- 使用openssl_encrypt方法替代mcrypt_encrypt做AES加密
- AES加密方法
- AES加密解密方法
- java使用AES加密
- java使用AES加密
- java使用AES加密
- JAVA AES加密使用
- 使用AES加密用户密码
- CryptoJS 使用AES加密
- php使用内置的mcrypt_encrypt和mcrypt_decrypt进行字符串加密解密
- php使用内置的mcrypt_encrypt和mcrypt_decrypt进行字符串加密解密
- php 自带加密函数 mcrypt_encrypt
- DES/AES/MD5加密方法
- java AES加密解密方法
- (Android、Java) AES加密方法
- replace()方法使用函数做替代字符串的说明
- 利用mcrypt做AES加密解密
- 使用AES算法加密字符串
- 让我们谈谈虚拟机的那些事儿
- 问题 C: 背包问题
- Hiveserver2 的简单配置说明
- Android FaceDetector实现人脸检测,人脸追踪(框出人脸)(MVP模式)
- 怎样将PDF文件中的图片进行修改
- 使用openssl_encrypt方法替代mcrypt_encrypt做AES加密
- iptables学习笔记:使用NAT实现简单的无线AP
- 网络流总结(持续更新中)
- BZOJ 1202-狡猾的商人(带权并查集)
- 问题 D: 买饼干
- 微信公众平台 java 文本类型 4
- 对比excel2个sheet的数据
- dede判断手机访问电脑端网站跳转代码
- mysql主从复制和读写分离