js与php之间AES加密解密

  • A+
所属分类:逆向工程

js与php之间AES加密解密

js与php之间AES加密解密

网上很多博客写了php与js的对称加密与解密aes,但是有很多坑,今天我写了一个可以切实可行的js与php加密解密的代码,代码可在线运行,非常方便

首先是js的aes加密

<!DOCTYPE html>
<html>
<head>
   
<meta charset="UTF-8">
   
<title>BFW NEW PAGE</title>
   
<script id="bfwone" data="dep=jquery.17|crypto-js-3.1.9-1/crypto-js|crypto-js-3.1.9-1/pad-zeropadding&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
   
<script type="text/javascript">
        bready
(function() {

           
var iv = 'httpwww.bfw.wiki';

           
var data = "it在线开发环境 bfwstuio";
            console
.log('JS加密前:'+data);
           
var key = CryptoJS.enc.Utf8.parse('www.bfw.wikihttp');
           
var ivv = CryptoJS.enc.Utf8.parse(iv);
           
var encrypted = CryptoJS.AES.encrypt(data, key, {
                iv
: ivv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding
           
});
            data
= encrypted.toString();
            console
.log('JS加密后:'+data);
            $
("#enc_txt").html(data);




           
var decrypted = CryptoJS.AES.decrypt(data, key, {
                iv
: ivv, padding: CryptoJS.pad.ZeroPadding
           
});
           
var rest = decrypted.toString(CryptoJS.enc.Utf8);
            console
.log('JS解密后数据:'+rest);




       
});
   
</script>
</head>
<body>
   
<div id="enc_txt">

   
</div>
</body>
</html>

js加密后传给php,后端的aes解密代码

<?php
$data
= 'it在线开发环境 bfwstuio';
$key
= 'www.bfw.wikihttp';
$methon
= 'AES-128-CBC';
$iv
= "httpwww.bfw.wiki";
$decrypted
= base64_encode(openssl_encrypt($data, $methon, $key, 1, $iv)); //加密
echo
'PHP加密后:'.$decrypted;


$jsencodedata
= "XRP4t0mMLrEKlAhB60mqSR7GTEsE4OfR+pGpPxu5Oxo=";
$decrypted
= openssl_decrypt($jsencodedata, 'AES-128-CBC', $key, OPENSSL_ZERO_PADDING, $iv); // 解密
echo
'PHP解密后:'.$decrypted;
?>

ok,代码可以在线编辑运行,不用复制到本地就可看到效果

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin