vue和.net后台接口通讯des加密解密方法

1、npm下载

npm install crypto-js

2、创建一个des.js文件,内容如下:

import CryptoJS from 'crypto-js'

export const encryptCBC = (text, textKey) => {
  // 密钥转成16进制的字符串
  var key = CryptoJS.enc.Utf8.parse(textKey);
  // 加密过程
  var encrypted = CryptoJS.DES.encrypt(text, key, {
    // iv偏移量为key值
    iv: key,
    // 模式为CBC
    mode: CryptoJS.mode.CBC,
    // DES加密padding为Pkcs7
    padding: CryptoJS.pad.Pkcs7
  });
  // 加密返回为字符串密文(加密经过一次base64加密,结果可看结果)
  return encrypted.toString();
}

// 解密
export const decryptCBC = (cipherText, textKey) => {
  var key = CryptoJS.enc.Utf8.parse(textKey);
  var decrypt = CryptoJS.DES.decrypt(cipherText, key, {
    iv: key,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  // 解密返回转为UTF-8明文(解密也经过一次base64解密)
  return decrypt.toString(CryptoJS.enc.Utf8);
}

3、具体使用

<script>
//引入封装好的des加密解密js文件
import { encryptCBC, decryptCBC } from '../../des.js'
export default {
  name: 'MapTree',
    buildInterface() {
      const sintxt = "A0042222222222222";
      this.signInVal = encryptCBC(sintxt,12345678); //第一个为要加密的值,第二个为双方约定的加密密码
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章