소스 검색

AES加密

prince 5 년 전
부모
커밋
55ffd5537f
2개의 변경된 파일17개의 추가작업 그리고 0개의 파일을 삭제
  1. 15 0
      src/utils/crypto-js.js
  2. 2 0
      src/utils/request.js

+ 15 - 0
src/utils/crypto-js.js

@@ -0,0 +1,15 @@
+import CryptoJS from 'crypto-js' // 引用AES源码js
+
+const key = CryptoJS.enc.Utf8.parse('1234123412ABCDEF') // 十六位十六进制数作为密钥
+// const iv = CryptoJS.enc.Utf8.parse('ABCDEF1234123412') // 十六位十六进制数作为密钥偏移量
+// 加密方法
+export function Encrypt() {
+  const token = '1234123412ABCDEF' + '.' + new Date().getTime()
+  const srcs = CryptoJS.enc.Utf8.parse(token)
+  const encrypted = CryptoJS.AES.encrypt(srcs, key, {
+    // iv: iv,
+    mode: CryptoJS.mode.ECB,
+    padding: CryptoJS.pad.Pkcs7
+  })
+  return encrypted.ciphertext.toString().toUpperCase()
+}

+ 2 - 0
src/utils/request.js

@@ -3,6 +3,7 @@ import { Message } from 'element-ui'
 // import store from '@/store'
 // import { getToken } from '@/utils/auth'
 import { loginUrl } from '@/apiConfig/requestIP.js'
+import { Encrypt } from '@/utils/crypto-js.js'
 
 // create an axios instance
 const service = axios.create({
@@ -25,6 +26,7 @@ service.interceptors.request.use(
     //   // please modify it according to the actual situation
     //   config.headers['X-Token'] = getToken()
     // }
+    config.headers['secret'] = Encrypt()
     return config
   },
   error => {