前端项⽬中使⽤aes加密解密-对称加密本⽂介绍的rsa加解密⽅法,适合react,vue,angular框架的前端项⽬
1. 安装cryto-js:
2. rsa加密解密函数:16
1 import CryptoJS from 'crypto-js/crypto-js'
2
3// 默认的 KEY 与 iv 如果没有给
4 const KEY = Utf8.parse("1234567890123456");
js代码加密软件5 const IV = Utf8.parse('1234567890123456');
6/**
7 * AES加密:字符串 key iv  返回base64
8*/
9 export function Encrypt(word, keyStr, ivStr) {
10  let key = KEY
11  let iv = IV
12
13if (keyStr) {
14    key = Utf8.parse(keyStr);
15    iv = Utf8.parse(ivStr);
16  }
17
18  let srcs = Utf8.parse(word);
19var encrypted = pt(srcs, key, {
20    iv: iv,
21    mode: de.CBC,
22    padding: CryptoJS.pad.ZeroPadding
23  });
24// console.log("-=-=-=-", encrypted.ciphertext)
Base64.stringify(encrypted.ciphertext);
26
27 }
28/**
29 * AES 解密:字符串 key iv  返回base64
30 *
31*/
32 export function Decrypt(word, keyStr, ivStr) {
33  let key  = KEY
34  let iv = IV
35
36if (keyStr) {
37    key = Utf8.parse(keyStr);
38    iv = Utf8.parse(ivStr);
39  }
40
41  let base64 = Base64.parse(word);
42  let src = Base64.stringify(base64);
43
44var decrypt = CryptoJS.AES.decrypt(src, key, {
45    iv: iv,
46    mode: de.CBC,
47    padding: CryptoJS.pad.ZeroPadding
48  });
49
50var decryptedStr = Utf8);
String();
52 }
3. 在组件中使⽤:
1 import {Decrypt, Encrypt} from '刚刚封装的js'
2
3var parm1 = Decrypt('加密的字段', key, iv)
4 console.log('加密之后的字段:', parm1)
5
6var parm2 = Decrypt('解密的字段', key, iv)
7 console.log('解密之后的字段:', parm2)
备注:密钥最好是数字,不然可能会报错(报代码的错误,其实代码没问题)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。