AES/CryptoJS/PHP 加密解密
最近做前后端加密通信,准备采用AES对称加密。遇到一些问题,折腾了半个月,终于找到解决方案。
PHP代码
$text = "After all, tomorrow is another day."; $key = pack("H*", "e10adc3949ba59abbe56e057f20f883e"); //md5("123456") $iv = pack("H*", "1234567890abcdef1234567890abcdef"); $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv); $encrypted = base64_encode($encrypted); var_dump($encrypted); $dncrypted = base64_decode($encrypted); $dncrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $dncrypted, MCRYPT_MODE_CBC, $iv); $dncrypted = trim($dncrypted); var_dump($dncrypted);
JS代码
var text = "After all, tomorrow is another day."; var key = CryptoJS.enc.Hex.parse("e10adc3949ba59abbe56e057f20f883e"); //md5("123456") var iv = CryptoJS.enc.Hex.parse("1234567890abcdef1234567890abcdef"); var opinion = {iv:iv, padding:CryptoJS.pad.ZeroPadding}; var encrypted = CryptoJS.AES.encrypt(text, key, opinion); encrypted = encrypted.toString(); console.log(encrypted); var decrypted = CryptoJS.AES.decrypt(encrypted, key, opinion); decrypted = decrypted.toString(CryptoJS.enc.Utf8); console.log(decrypted);
记得引用CryptoJS
<script type="text/javascript" src="http://cdn.bootcss.com/crypto-js/3.1.9/crypto-js.js"></script> <script type="text/javascript" src="http://cdn.bootcss.com/crypto-js/3.1.9/aes.js"></script>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: JSP简单练习-EL获取表单数据
- 下一篇: Nginx基础配置详解