AES加密工具的使用方法

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 日常开发中,数据请求的加解密是比较常见的场景,因为可以通过抓包软件看到接口请求的数据,甚至修改响应的数据, 客户端实际上接收到的数据并不是服务端返回的真实数据,可能是被修改过的数据,所以数据传输的安全是很必要的。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;
 });
目录
相关文章
|
2月前
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
|
2月前
|
数据安全/隐私保护
aes之ecb模式的加密解密
aes之ecb模式的加密解密
|
2月前
|
存储 安全 数据安全/隐私保护
安全升级!Python AES加密实战,为你的代码加上一层神秘保护罩
【9月更文挑战第12天】在软件开发中,数据安全至关重要。本文将深入探讨如何使用Python中的AES加密技术保护代码免受非法访问和篡改。AES(高级加密标准)因其高效性和灵活性,已成为全球最广泛使用的对称加密算法之一。通过实战演练,我们将展示如何利用pycryptodome库实现AES加密,包括生成密钥、初始化向量(IV)、加密和解密文本数据等步骤。此外,还将介绍密钥管理和IV随机性等安全注意事项。通过本文的学习,你将掌握使用AES加密保护敏感数据的方法,为代码增添坚实的安全屏障。
136 8
|
1月前
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
82 0
|
2月前
|
安全 算法 数据安全/隐私保护
深度揭秘!Python加密技术的背后,AES与RSA如何守护你的数据安全
【9月更文挑战第10天】随着数字化时代的到来,数据安全成为企业和个人面临的重大挑战。Python 作为功能强大的编程语言,在数据加密领域扮演着重要角色。AES 和 RSA 是两种主流加密算法,分别以对称和非对称加密方式保障数据安全。AES(Advanced Encryption Standard)因其高效性和安全性,在数据加密中广泛应用;而 RSA 则利用公钥和私钥机制,在密钥交换和数字签名方面表现卓越。
81 3
|
2月前
|
存储 安全 数据库
双重防护,无懈可击!Python AES+RSA加密方案,构建最强数据安全堡垒
【9月更文挑战第11天】在数字时代,数据安全至关重要。AES与RSA加密技术相结合,构成了一道坚固防线。AES以其高效性保障数据加密,而RSA则确保密钥安全传输,二者相辅相成,提供双重保护。本文通过Python代码示例展示了这一加密方案的魅力,强调了其在实际应用中的重要性和安全性。使用HTTPS等安全协议传输加密密钥和密文,确保数据在数字世界中自由流通而无忧。
62 1
|
2月前
|
安全 算法 数据安全/隐私保护
黑客克星!Python加密艺术大公开,AES、RSA双剑合璧,守护你的数字世界
在这个数据泛滥的时代,数字世界既充满了知识,也潜藏安全隐患。Python 作为强大的编程语言,以其独特的加密技术为我们的信息安全保驾护航。本文将介绍 AES 和 RSA 这两种加密算法,揭示它们如何协同工作,保护你的数字世界。AES(高级加密标准)以其高效、安全著称,能将敏感信息转化为难以破解的乱码。Python 的 `pycryptodome` 库让 AES 加密变得简单易行。然而,AES 面临密钥分发难题,此时 RSA(非对称加密算法)便大显身手,通过公钥加密、私钥解密的方式确保密钥传输安全。AES 与 RSA 在 Python 中交织成一道坚不可摧的防护网,共同守护我们的数字世界。
79 0
|
7天前
|
SQL 安全 算法
揭秘网络安全:漏洞、加密与安全意识的三重奏
【10月更文挑战第39天】在数字时代的交响乐中,网络安全扮演着不可或缺的角色。本文旨在通过浅显易懂的语言,揭示网络安全的三大核心要素:网络漏洞、加密技术以及安全意识。我们将探索这些元素如何相互交织,共同维护我们的数字安全。从初学者到资深专家,每个人都能从中获得宝贵的知识和启示。
|
7天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
21 2
|
9天前
|
安全 算法 网络安全
网络安全的盾牌与利剑:漏洞防御与加密技术的双刃舞
【10月更文挑战第37天】在数字世界的海洋里,网络安全是航船的锚,保护我们的数据不受风暴侵袭。本文将深入浅出地探讨网络安全的两大支柱——漏洞防御和加密技术。我们将从网络安全的基本概念出发,逐步深入到漏洞的类型、检测方法以及防御策略。同时,我们也将探索加密技术的原理和应用,如何通过这一技术保护信息的完整性和私密性。最后,我们将讨论提升个人及组织安全意识的重要性,以及如何构建一个安全的网络环境。这不仅是技术人员的战斗,每个人都是自己信息安全的第一道防线。让我们一起扬帆起航,探索网络安全的世界,学习如何成为自己数据的守护者。