AES加密工具的使用方法

简介: 日常开发中,数据请求的加解密是比较常见的场景,因为可以通过抓包软件看到接口请求的数据,甚至修改响应的数据, 客户端实际上接收到的数据并不是服务端返回的真实数据,可能是被修改过的数据,所以数据传输的安全是很必要的。AES是比较常见和常用的一种请求加密方案,AES属于对称加密的一种,优点是对数据没有长度限制,加解密速度快;实现方式简单;缺点是没那么安全:秘钥的传输及保管是个问题,任何一方的秘钥泄漏都将导致数据的不安全。

1. 安装 crypto-js

npm i -S crypto-js

2. 配置 utils 加密工具函数

importCryptoJSfrom'crypto-js';
// 默认的 KEY 与后台一致,十六位十六进制数作为密钥constKEY=CryptoJS.enc.Utf8.parse('与后台一直的密钥');
exportdefault {
// 加密EncryptData: data=> {
letsrcs=CryptoJS.enc.Utf8.parse(data);
letencrypted=CryptoJS.AES.encrypt(srcs, KEY, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
    });
returnencrypted.toString();
  },
// 解密DecryptData: data=> {
letdecrypt=CryptoJS.AES.decrypt(data, KEY, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
    });
returnJSON.parse(CryptoJS.enc.Utf8.stringify(decrypt).toString());
  },
};

3. 使用

在Vue工程或React工程中,通常是在请求工具(axios,umi-request/fetch或其他请求工具)中全局配置,以下已 umi-request  为例:

1. 在请求拦截器中对请求的数据体进行加密

request.interceptors.request.use((url, options) => {
if (process.env.NODE_ENV!=='development') {
if (options.method==='post'&&!url.includes('generatorToken')) {
/**          * 数据加密,如果是json,需要先转换成字符串         * 这里是对整个json进行加密,也可以对单个字段进行加密         */options.data=AESUtil.EncryptData(JSON.stringify(options.data));
     }
   }
return { url, options };
 });

2. 在响应拦截器中对返回的数据体进行解密

request.interceptors.response.use(asyncres=> {
constresData=awaitres.clone().json();
constresponse=res.clone();
response.data=resData;
if (process.env.NODE_ENV!=='development') {
if (response.data.data) {
// 数据解密response.data.data=AESUtil.DecryptData(response.data.data);
     }
   }
returnresponse.data;
 });
目录
相关文章
|
1月前
|
Linux 数据安全/隐私保护 Windows
aes加密在linux下会生成随机key的解决办法
aes加密在linux下会生成随机key的解决办法
20 2
|
2月前
|
PHP 数据安全/隐私保护
在PHP中使用AES进行加密和解密
在PHP中使用AES进行加密和解密
|
3月前
|
存储 算法 安全
【加密算法】AES对称加密算法简介
【加密算法】AES对称加密算法简介
|
3月前
|
安全 小程序 数据安全/隐私保护
aes加密算法python版本
aes加密算法python版本
45 0
|
4月前
|
算法 安全 物联网
全面了解AES加密:入门指南(二)
全面了解AES加密:入门指南
|
2月前
|
安全 Java 数据安全/隐私保护
提升 Java 编程安全性 - 代码加密混淆工具的重要性和应用
提升 Java 编程安全性 - 代码加密混淆工具的重要性和应用
|
3月前
|
存储 算法 安全
在线SM4加密/解密工具
在线SM4加密/解密工具支持快速、便捷地对数据进行SM4算法加密与解密。
217 0
|
4月前
|
安全 数据安全/隐私保护
如何使用GPG工具加密和解密文件?
如何使用GPG工具加密和解密文件?
202 0
|
4月前
|
存储 安全 算法
全面了解AES加密:入门指南(一)
全面了解AES加密:入门指南
|
4月前
|
存储 安全 Go
加密必备技能:深入理解RSA与AES
加密必备技能:深入理解RSA与AES
84 0