免费制作小程序_vue项目中使用AES完成密码加密解

发布时间:2021-01-07 12:01 作者:jianzhan

摘要: vue新项目中应用AES完成登陆密码数据加密解密(ECB和CBC二种方式) 本文关键详细介绍了vue新项目中应用AES完成登陆密码数据加密解密的方式,关键是根据ecb和cbc二种方式,文中根

vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)       这篇文章主要介绍了vue项目中使用AES实现密码加密解密的方法,主要是通过ecb和cbc两种模式,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

区别

ECB:是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。

CBC:是一种循环模式,前一个分组的密文和当前分组的明文异或或操作后再加密,这样做的目的是增强破解难度。(不容易主动攻击,安全性好于ECB,是SSL、I凡科抠图ec的标准)

代码实现

先安装 crypto-js

npm install crypto-js --save-dev

ECB模式:

import CryptoJS from "crypto-js";
export default {
 // 加密
 encrypt(word, keyStr) {
 keyStr = keyStr keyStr : "absoietlj32fai12";
 let key = CryptoJS.enc.Utf8.parse(keyStr);
 let srcs = CryptoJS.enc.Utf8.parse(word);
 let encrypted = CryptoJS.AES.encrypt(srcs, key, {
 mode: CryptoJS.mode.ECB,
 padding: CryptoJS.pad.Pkcs7
 return encrypted.toString();
 // 解密
 decrypt(word, keyStr) {
 keyStr = keyStr keyStr : "absoietlj32fai12";
 var key = CryptoJS.enc.Utf8.parse(keyStr);
 var decrypt = CryptoJS.AES.decrypt(word, key, {
 mode: CryptoJS.mode.ECB,
 padding: CryptoJS.pad.Pkcs7
 return CryptoJS.enc.Utf8.stringify(decrypt).toString();
};

CBC模式:

import CryptoJS from "crypto-js";
export default {
 // 加密
 encrypt(word, keyStr, ivStr) {
 keyStr = keyStr keyStr : "absoietlj32fai12";
 ivStr = ivStr ivStr : "absoietlj32fai12";
 let key = CryptoJS.enc.Utf8.parse(keyStr);
 let iv = CryptoJS.enc.Utf8.parse(ivStr);
 let srcs = CryptoJS.enc.Utf8.parse(word);
 let encrypted = CryptoJS.AES.encrypt(srcs, key, {
 mode: CryptoJS.mode.CBC,
 padding: CryptoJS.pad.ZeroPadding
 return encrypted.toString();
 // 解密
 decrypt(word, keyStr, ivStr) {
 keyStr = keyStr keyStr : "absoietlj32fai12";
 ivStr = ivStr ivStr : "absoietlj32fai12";
 var key = CryptoJS.enc.Utf8.parse(keyStr);
 let iv = CryptoJS.enc.Utf8.parse(ivStr);
 var decrypt = CryptoJS.AES.decrypt(word, key, {
 mode: CryptoJS.mode.CBC,
 padding: CryptoJS.pad.ZeroPadding
 return decrypt.toString(CryptoJS.enc.Utf8);
};

以上两种模式中的 keyStr 的长度要不小于14位,否则解密时会显示空白

总结

以上所述是小编给大家介绍的vue项目中使用AES实现密码加密解密(ECB和CBC两种模式),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对凡科网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


  • 小程序有多火?小程序前

    微信小程序有多火?微信小程序市场前景如何样?大伙儿了解的许多服务平台或是知名品牌都会涉足微信小程序了,京东商城、美团外卖、麦当劳、麦当劳、拼多多平台、百果园等都会

  • 品牌街总流量年间新征程

    今年,零售业已经产生刻骨铭心转变。 肺炎疫情立即催化反应了消費和零售的网上化要求,直播间卖货、构建品牌街总流量池等方法变成年初第一出风口。 这产生的一切,让全部人刚

  • 小程序到底是什么?怎么

    题主的难题许多呀!那么我就一个一个来!微信小程序便是根据手机微信服务平台创造出去的,它无需独立免费下载,不占运行内存,并且开发设计成本费低,中后期维护保养成本

  • 浙江省四条诗路知是多少

    你了解“东山岛骤起”讲的到底是谁在哪儿儿的经典励志小故事吗?你了解富春山居图绘图于哪一条江畔?你了解诗仙李白《梦游天姥吟留别》中的天姥山在哪儿吗? 实际上,这种回答

  • LV干了个手机微信微信小程

    原题目:LV干了个手机微信微信小程序,想“文化教育”你多花点钱 2019.07.09 周二 Tuesday loyalty ['lɔɪəlti] n. 忠实;忠诚…情感 宜 跳坑 忌 照片来源于:视觉效果我国 Luxury brands continue