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基础配置详解
