crypto-js aes 加解密

这篇具有很好参考价值的文章主要介绍了crypto-js aes 加解密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先安装cryptojs

npm install crypto-js

import CryptoJS from 'crypto-js'  // 引入CryptoJS


const key = CryptoJS.enc.Utf8.parse('47FC4124CF94E070') // 密钥

const iv = CryptoJS.enc.Utf8.parse('ovOh2xYoRdfATob6') // 密钥偏移量

// 加密方法
const AesEncode = function (word) {
    let srcs = CryptoJS.enc.Utf8.parse(word);
    // 对称加密算法主要有AES、DES、3DES / 非对称加密算法主要有RSA、DSA、RCC
	// iv(初始变量)
    // key(加密密钥)
    // mode(加密模式 主要有CBC(默认)、CFB、CTR、OFB、ECB)
    // padding(填充方式 主要有Pkcs7(默认)、Iso97971、AnsiX923、Iso10126、ZeroPadding)

    let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
    let encryptedBase64Data = CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
    return encodeURIComponent(encryptedBase64Data);
}

// 解密方法
const AesDecode = function (word) {
	word = decodeURIComponent(word)
	let encryptedHexStr = CryptoJS.enc.Base64.parse(word);
	let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
	let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
	let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
	return decryptedStr.toString();
}

加密示例如下:
// 对hello进行加密
let str = AesEncode('hello')
console.log(str) // k1sj3bcoa%2BOWfzgEZyqYeA%3D%3D

// 对hello进行解密
let str1 = AesDecode('k1sj3bcoa%2BOWfzgEZyqYeA%3D%3D')
console.log(str1) // hello

cryptojs 采用的是对称加密,下面再来聊聊对称加密和非对称加密的差异:

对称加密
优点:算法公开、计算量小、加解密的效率高、加密速度快(加密和解密使用相同的密钥)
缺点:密钥的管理和分发上比较困难,不是非常安全,密钥管理负担很重


非对称加密
优点:安全性更高,公钥是公开的,密钥是自己保存的,不需要将私钥给别人
缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密


解决办法
将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行
解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。文章来源地址https://www.toymoban.com/news/detail-659523.html

到了这里,关于crypto-js aes 加解密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端js加密库的简单使用——crypto-js、jsrsasign、jsencrypt

    个人经验,这三个加密库的组合是最佳解决方案 crypto-js、jsrsasign、jsencrypt crypto-js 进行 AES 对称加密 jsrsasign 生成 RSA 密钥对 jsencrypt 进行 RSA 加解密

    2024年02月11日
    浏览(31)
  • AES对称加密实战——前端js加密后端python解密

    高级加密标准(AES, Advanced Encryption Standard),是一种最常见的对称加密算法 。其加密流程如下图所示,发送方通过密钥对明文加密后进行网络传输,接收方用同样的密钥将密文解密。在前后端通讯场景中,可利用AES算法对用户密码进行加密后传输,防止被抓包而造成密码泄露。

    2024年02月04日
    浏览(42)
  • python调用js文件加密时Cannot find module ‘crypto-js‘解决办法

    首先安装node.js 记得把node.js安装在你python代码文件的目录下,虽然有点乱,但是这样不容易出现其他问题,其次 然后把https://wwor.lanzoue.com/iE5Is0ixp9ef这个链接里面的压缩包直接解压到你代码文件那个node_modules里面,这个鬼东西就是你node.js安装的目录下

    2024年02月16日
    浏览(27)
  • uni-app crypto-js DES 加解密 ,支持app , h5,小程序

    crypto-js DES 加解密 ,支持app,h5,小程序 第一步 npm install crypto-js 可以直接下载示例运行,看控制台打印 下载地址 https://ext.dcloud.net.cn/plugin?id=13351 crypto-js DES 加解密 - DCloud 插件市场

    2024年02月12日
    浏览(31)
  • Vue中的加密方式(js-base64、crypto-js、jsencrypt、bcryptjs)

    1.安装js-base64库  2. 在Vue组件中引入js-base64库 3.使用js-base64库进行加密 4.Vue中其他加密方式  1.crypto-js 2.jsencrypt 3.bcryptjs 使用 Base64.encode() 方法对字符串进行加密,并使用 Base64.decode() 方法对加密后的字符串进行解密。您可以根据需要使用这些方法来加密和解密字符串。请注意

    2024年02月08日
    浏览(24)
  • 前端AES加密解密

    前端经常会遇到这种接口和参数需要加密的情况,目前用的最多的就是aes加密了。以下就是操作步骤。以下方式适用各个前端框架,请自行根据框架修改对应语法 1.安装 CryptoJS 这个库就是用来加密的核心,直接打开项目终端,输入 npm install crypto-js --save 2. 新建 crypto.js 在 @/

    2024年02月13日
    浏览(44)
  • 微信小程序使用crypto.js加密解密

    crypto.js是用来进行AES加密的 注意AES在使用时有7个配置项,前后端加解密记着统一参数,测试时注意配置项的选择是否一致。 AES加密测试工具 文件存放路径: cryptoPro.js代码:

    2024年02月11日
    浏览(52)
  • java和js实现前端加密后端解密,后端加密前端解密(Base64)

    目录 1.前端加密后端解密 2.后端加密前端解密 在前端和后端数据传输时,常常涉及到隐私数据的传输(例如用户名和密码),这时,我们就需要对隐私数据进行加密解密 1.前端加密后端解密         1.1 前端jquery实现         1.2后端 2.后端加密前端解密         2.1后端加密

    2024年02月16日
    浏览(41)
  • 前端AES加密,后端解密,有效防止数据外泄

    在工作中经常遇到密码明文传输这个问题,为了让密码安全些会让加密,现在有个比较方便的AES加密(前端密钥可能存在泄露风险,应该放到配置项中): 一、前端加密 1、首先引入前端需要用到的js:crypto-js,下载地址: CryptoJS-v4.1.1 https://www.aliyundrive.com/s/bXP6M8ZxVAD 点击链接

    2024年02月16日
    浏览(34)
  • JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用

    方便开发者更好的定位加密算法,提高了开发的效率,必备神器; 提示:以下是本篇文章正文内容,下面案例可供参考 下载地址:https://pan.baidu.com/s/13IxwJyIbKokpXdB4d42IOQ?pwd=chhj 消息摘要算法 对称加密算法 非对称加密算法 下载地址:https://pan.baidu.com/s/17ir4KJaXte1e88l7VfMs5A?pwd=mn1

    2024年02月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包