// 加密
export const encryptionTxt = (plaintext) => {
if (!plaintext) { // 空值判断, 避免空值阻塞代码
return ''
}
if (typeof plaintext !== 'string') {// 加密内容必须为字符串
plaintext = String(plaintext)
}
// 从环境变量中拿密匙
const mikey = process.env.REACT_APP_API_KEY
const key = CryptoJS.enc.Utf8.parse(mikey)
// 使用AES加密 (ECB模式)
const encrypted = CryptoJS.AES.encrypt(plaintext, key, {
mode: CryptoJS.mode.ECB, // ECB加密模式
padding: CryptoJS.pad.Pkcs7, // 填充方式,常用Pkcs7
})
// 将加密后的数据转换为16进制字符串
const encryptedHexStr = encrypted.ciphertext.toString(CryptoJS.enc.Hex)
// 打印加密后的16进制字符串
return encryptedHexStr
}
相关文章
- react 函数式组件 使用的第二个参数完成路由传值的方法,此方法可类似于post传值,不在地址上显示。实现更优雅的传值
- 对称加密与非对称加密的优缺点及非对称加密的使用前提
- TSL 和 SSL 是什么?它们有何关系?-定义:SSL(安全套接层)是一种早期的加密协议,用于在互联网通信中保障数据传输的安全性。它通过加密和身份验证机制,确保客户端(如浏览器)与服务器之间的通信不被窃听或篡改。 版本:SSL 1.0(未发布)、SSL 2.0(1995年,已废弃)、SSL 3.0(1996年,已淘汰)。 问题:SSL 3.0 及早期版本存在严重安全漏洞(如 POODLE 攻击),目前已被现代系统禁用。 2. TLS(Transport Layer Security) 定义:TLS(传输层安全协议)是 SSL 的继任者,旨在提供更安全的通信协议。TLS 由国际互联网工程任务组(IETF)标准化,逐步替代了 SSL。 版本:TLS 1.0(1999年,已淘汰)、TLS 1.1(2006年,已淘汰)、TLS 1.2(2008年,广泛使用)、TLS 1.3(2018年,最新标准)。 优势:更强的加密算法(如 AES、ChaCha20)、更高效的握手过程、支持前向保密(Perfect Forward Secrecy)等。 SSL 与 TLS 的关系 继承关系 TLS 直接基于 SSL 3.0 设计,可以视为 SSL 的升级版。TLS 1.0 最初命名为 SSL 3.1,后因标准化需要更名为 TLS。 协议兼容性
- C#实现AES-CBC加密工具类(含完整源码及使用教程)
- Go实现MD5加密的三种方法
- php 如何使用openssl_encrypt进行aes非对称加密解密
- 很实用的js实现md5加密的方法
- Outlook 2007 实现自动添加密送的方法
- 【react使用AES对称加密的实现】-加密方法
- Spring Boot中使用MyBatis-Plus和MyBatis拦截器来实现对带有特定注解的字段进行AES加密。