当前位置: 移动技术网 > IT编程>开发语言>JavaScript > AES加密

AES加密

2019年03月14日  | 移动技术网IT编程  | 我要评论

  最近做的一个项目,需要对传输的参数进行aes加密,所以就顺便的了解了一下,因为这种东西,肯定都是有写好的,现成的,所有这里就简单的记录一下,方便以后自己和大家查找。

首先附上百度的关于aes的,如果觉得看的不是很明白的话,。然后在附上一个的网站链接。方便大家自行的查询与应用。好的废话不多说,下面直接上代码。

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="utf-8">
 5     <title>title</title>
 6  
 7 </head>
 8  
 9 <!--<script src="https://sellpow-html.oss-cn-beijing.aliyuncs.com/public/js/aes.js"></script>-->
10 <!--<script src="https://cdn.bootcss.com/aes-js/3.1.2/index.js"></script>-->
11 <script src="http://react.file.alimmdn.com/aes.js" type="text/javascript" charset="utf-8"></script>
12 <body>
13   
14 <script>
15     var key = cryptojs.enc.utf8.parse("8nonwyjthesyswpm");//密钥
16     var plainttext = '{"a":1}'; // 需要传输的明文 
17     var encrypteddata = cryptojs.aes.encrypt(plainttext, key, {
18         mode: cryptojs.mode.ecb,//这里是选择的模式
19         padding: cryptojs.pad.pkcs7//这里也是选择的一个模式
20     });
21     console.log("加密前:"+plainttext);
22     console.log("加密后:"+encrypteddata);
23  
24     encrypteddata = encrypteddata.ciphertext.tostring();
25     var encryptedhexstr = cryptojs.enc.hex.parse(encrypteddata);
26     var encryptedbase64str = cryptojs.enc.base64.stringify(encryptedhexstr);
27  
28     var decrypteddata = cryptojs.aes.decrypt(encryptedbase64str, key, {
29         mode: cryptojs.mode.ecb,
30         padding: cryptojs.pad.pkcs7
31     });
32  
33     var decryptedstr = decrypteddata.tostring(cryptojs.enc.utf8);
34  
35     console.log("解密后:"+decryptedstr);
36 
37     var pwd = "pcsuftgog9/qpqmqxsucrq==";
38     //加密服务端返回的数据
39     var decrypteddata = cryptojs.aes.decrypt(pwd, key, {
40         mode: cryptojs.mode.ecb,
41         padding: cryptojs.pad.pkcs7
42     });
43     
44     console.log("解密服务端返回的数据:"+decryptedstr);
45  
46 </script>
47 </body>
48 </html>

  我在这个程序中使用的是ecb模式,所以就没有什么偏移量的问题了,如果你们使用的是其他的模式,请增加偏移量。

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网