前端js使用AES加密

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

我是在uniapp项目里使用,AES加密也分几种模式,我这里有CBC和ECB模式,ECB模式安全性差些但快
加密文件下载
下载好和封装引用文章来源地址https://www.toymoban.com/news/detail-597687.html

var CryptoJS = require("crypto-js");

/**
 * AES加密
 * 手机号,密码登录等需要加密
 * */
function AESencryption (e){
	// console.log('aes加密',e)
	var key = CryptoJS.enc.Utf8.parse("zhgerXHBVaaKm8xy")
	var plaintText = e;
	
	// var key1 = CryptoJS.enc.Latin1.parse(key);//key为密钥,16位的字符串
	// var iv1 = CryptoJS.enc.Latin1.parse(iv);//iv为偏移量,16位的字符串	

	//CBC加密
	// var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {
	//     iv:  CryptoJS.enc.Utf8.parse(key),
	//     mode: CryptoJS.mode.CBC,  
	//     padding: CryptoJS.pad.Pkcs7
	// })
	
	//ECB模式
	var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {
	    mode: CryptoJS.mode.ECB,  
	    padding: CryptoJS.pad.Pkcs7
	})

	 
	encryptedData = encryptedData.ciphertext.toString();
	
	console.log("加密前:"+plaintText)
	console.log(encryptedData)
	console.log("什么玩意",typeof encryptedData)
	 return encryptedData;
	 
	//CBC解密
	// var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData)
	// console.log("解密前hex:"+encryptedHexStr)
	// var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr)
	// console.log("解密前:"+encryptedBase64Str)
	// var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, { 
	//     iv:  CryptoJS.enc.Utf8.parse(key),
	//     mode: CryptoJS.mode.CBC,  
	//     padding: CryptoJS.pad.Pkcs7
	// })
	 
	// var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8)
	// console.log("解密后:"+decryptedStr)

	
	//ECB解密
	//var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData)
	//console.log("解密前hex:"+encryptedHexStr)
	//var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr)
	//console.log("解密前:"+encryptedBase64Str) 
	//var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, { 
	//    mode: CryptoJS.mode.ECB,  
	//    padding: CryptoJS.pad.Pkcs7
	//})
	 
	//var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8)

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

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

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

相关文章

  • 爬虫案例-使用Session登录指定网站(JS逆向AES-CBC加密+MD5加密)

    总体概览:使用Session登录该网站,其中包括对password参数进行js逆向破解                 (涉及加密:md5加密+AES-CBC加密) 难度:两颗星 目标网址:aHR0cHM6Ly93d3cuZnhiYW9nYW8uY29tLw== 下面文章将分为四个部分:         1、定位主体加密函数,进行断点         2、分

    2024年02月09日
    浏览(71)
  • 前端使用 crypto-js 库 aes加解密

    CryptoJS是一个JavaScript加密算法库,用于在客户端浏览器中执行加密和解密操作。它提供了一系列常见的加密算法,如AES、DES、Triple DES、Rabbit、RC4、MD5、SHA-1等等。 AES 工作原理 AES(高级加密标准)是一种对称加密算法,即加密和解密使用相同的密钥。它可以加密长度为128、

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

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

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

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

    2024年02月16日
    浏览(51)
  • 用java语言写一个AES算法,使用AES(CBC模式)对数据进行加密或解密。加解密用到的密钥(Key)和密钥偏移量(IV),代码实例类编写。

    以下是一个使用Java编写的AES算法实例,使用AES(CBC模式)对数据进行加密和解密。代码中包括了生成随机密钥和密钥偏移量的方法。 java Copy code import javax.crypto.*; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.InvalidAlgorithmParameterException; import

    2024年02月07日
    浏览(63)
  • C# 实现对称加密算法(AES)与非对称加密算法(RSA),包含前端加密对应算法实现

    一种既简单速度又快的加密方式,加密与解密使用的都是同一个密钥,别名又叫做:单密钥加密;对称加密有很多公开算法,并且因为它效率很高,所以适用于加密大量数据的场合;但其密钥的传输过程是不安全的,并且容易被破解,密钥管理起来也相对麻烦。 需要两个密钥

    2024年02月09日
    浏览(68)
  • vue 使用AES 加密

    是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。 是一种循环模式,前一个分组的密文和当前分组的明文异或或操作后再加密,这样做的目的是增强破解难度。(不容易主动攻击,安全性好于ECB,是SSL、IP

    2024年02月16日
    浏览(40)
  • 前端如何加密数据--五种方式(base64加密、md5加密、sha1加密、字符串方法加密、AES加密)

    1.base64加密(包括小写字母a-z、大写字母A-Z、数字0-9、符号\\\"+\\\"、\\\"/\\\"一共64个字符的字符集,另加一个“=”,实际是65个字符) 字符串转换为base64:str64 = window.btoa(str) base64转换为字符串:str=window.atob(str64) 2.md5加密 3.sha1加密   4.字符串的编码和解码(JS函数的escape()和unescape())

    2024年02月16日
    浏览(60)
  • Python使用CBC加密模式进行AES加密

    在这个示例中,我们使用了 cryptography 库的 Cipher、algorithms、modes、backend 和 padding 模块。 encrypt 函数接受明文字符串、密钥和初始向量(IV)作为参数。 我们首先使用 Cipher 类来创建一个 AES 密码器对象,指定所需的 AES 算法、CBC 加密模式和密钥。然后,我们获取密码器的加密

    2024年01月24日
    浏览(50)
  • AES(对称加密)和RSA(非对称加密)使用详情

          待加密的明文以16字节分组进行加密,如果数据字节长度不是16的倍数,最后的一组则需要在有效数据后面进行填充,使得数据长度变为16字节,AES填充方式分为NoPadding、PKCS5(PKCS7)、ISO10126、Zeros。 NoPadding :不填充,那就只能加密长度为16倍数的数据,一般不使用; Zero

    2024年02月08日
    浏览(97)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包