宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应

[JS]AES加密(基于crypto-js)PHP后端解密

2016-10-13 00:16:48 点击量:138 标签: 收藏本文

这里主要讲 前端使用crypto-js AES加密后,php解密。

前端js

  1. <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/aes.js"></script> 
  2. <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script> 
  3. <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/components/pad-zeropadding.js"></script> 
  4. <script> 
  5.     var key_hash = CryptoJS.MD5("Message"); 
  6.     var key = CryptoJS.enc.Utf8.parse(key_hash); 
  7.     var iv  = CryptoJS.enc.Utf8.parse('1234567812345678'); 
  8.     var encrypted = CryptoJS.AES.encrypt("Message", key, { iv: iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding}); 
  9.     document.write("encode:"+encrypted); 
  10. </script> 

php代码

  1. <?php 
  2. $text = "Message"
  3. $key = md5($text);  //CuPlayer.com提示key的长度必须16,32位,这里直接MD5一个长度为32位的key 
  4. $iv='1234567812345678'
  5. $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv); 
  6. $decode = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv); 
  7. echo base64_encode($crypttext); 
  8. echo "<br/>"; 
  9. echo $decode; 
  10. echo "<br/>"; 
  11. ?>