JS和AngularJS使用CryptoJS进行AES加解密的代码示例

一、AES介绍

AES是一种对称加密算法。主要有以下几个参数。
1. key (密钥)
	AES-128,AES-192,AES-256
	AES128对应的密钥长度是128位,也就是16个字节。
2. iv(偏移量)
3. mode(加密模式)
 	1、电码本模式(Electronic Codebook(ECB));
	2、密码分组链接模式(Cipher Block Chaining(CBC));
	3、计算器模式(Counter(CTR));
	4、密码反馈模式(Cipher FeedBack(CFB));
	5、输出反馈模式(Output FeedBack(OFB));
4. padding (填充方式)
	PKCS5, PKCS7, NOPADDING
	PKCS5Padding和PKCS7Padding基本是一个东西,可以通用

二、CryptoJS

1.crypto-js(GitHub)是谷歌开发的一个纯JavaScript的加密算法类库。
2.目前crypto-js已支持的算法有:
	MD5,SHA-1,SHA-256,AES,Rabbit,MARC4,HMAC,HMAC-MD5,HMAC-SHA1,HMAC-SHA256,PBKDF2.
3.使用方式:
	1.直接引用:引入crypto-js文件。
	2.安装依赖:
		①npm install crypto-js   
		②import CryptoJS from 'crypto-js'。
4.默认使用AES-256,CBC,PKCS7Padding(没有PKCS5Padding)。

三、在JS中使用示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>aesTest-JS</title>
</head>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/aes.min.js"></script>
 <!-- <script type="tewt/javascript" src="lib/crypto-js.min.js"></script> -->
 <!-- <script type="text/javascript" src="lib/aes.min.js"></script> -->
<body>
 
<script>
	//明文
    var plaintText = 'test';
	
	//先将key,iv转成128bit
    var key = CryptoJS.enc.Utf8.parse("1234567891234567");
	var iv = CryptoJS.enc.Utf8.parse("test");
	
	//加密
    var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {
   
        iv:iv,
		mode: CryptoJS.mode.CBC,
        padding
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值