فهرست منبع

response data解密修改

jwyu 11 ماه پیش
والد
کامیت
24b54c13fc
4فایلهای تغییر یافته به همراه14 افزوده شده و 12 حذف شده
  1. 0 1
      index.html
  2. 5 5
      src/api/crypto.js
  3. 1 1
      src/api/http.js
  4. 8 5
      src/utils/parseData.js

+ 0 - 1
index.html

@@ -12,7 +12,6 @@
 	<link rel="icon" type="image/x-icon" href="./static/fa.ico" id="icon"/>
 	<script src="./static/js/vue.js"></script>  <!-- 开发版,开发过程中使用此方案-->
 	<script src="./static/js/main.js"></script>  <!-- 生产版,打包的时候使用此方案 -->
-	<script src="./static/base_config.js"></script>  <!-- key -->
 	<!-- 引入组件库 -->
 	
 	<!-- oss SDK -->

+ 5 - 5
src/api/crypto.js

@@ -1,16 +1,16 @@
-const key = window.key||'6WpHp4vSvLVQK8SLioNZ7WMq'; //eta
-// const key = 'cJ3b1I4YBlTc85vnxy36xip2'; //逸诺
-// const key = 'bvS3kVp7QIZoD70fPk1wk41n'; //试用
+let key = ''; //eta
 
 class CryptoJS {
 	// 3DES加密,CBC/PKCS5Padding
-	static Des3Encrypt (input) {
+	static Des3Encrypt (input,keyVal) {
+		key=keyVal
 		let genKey = genkey(key, 0, 24);
 		return base64encode(des(genKey.key, input, 1, 1, key.substr(0, 8), 1));
 	}
 
 	// 3DES解密,CBC/PKCS5Padding
-	static Des3Decrypt (input) {
+	static Des3Decrypt (input,keyVal) {
+		key=keyVal
 		let genKey = genkey(key, 0, 24);
 		return des(genKey.key, base64decode(input), 0, 1, key.substr(0, 8), 1);
 	}

+ 1 - 1
src/api/http.js

@@ -44,7 +44,7 @@ function checkStatus(response) {
   //处理响应数据
   if (response && response.status === 200) {
     // loading,如果http状态码正常,则直接返回数据
-    let res = bus.$parseData(response.data);
+    let res = bus.$parseData(response);
     if (!res) {
       bus.$message.error("服务器开了个小差");
       return false;

+ 8 - 5
src/utils/parseData.js

@@ -1,8 +1,11 @@
 import ParserData from '@/api/crypto.js';
 /* 解密数据处理 */
-export function parseData(res) {
-  let result = process.env.NODE_ENV === "production"
-  ? JSON.parse(ParserData.Des3Decrypt(res))
-  : res;
-  return result
+export function parseData(response) {
+  const headKeyStr=response.headers.dk
+  const desKey=ParserData.Des3Decrypt(headKeyStr,'JMCqSoUrTAmyNNIRb0TtlrPk')
+  // let result = process.env.NODE_ENV !== "production"
+  // ? JSON.parse(ParserData.Des3Decrypt(response.data,desKey))
+  // : response.data;
+  // return result
+  return JSON.parse(ParserData.Des3Decrypt(response.data,desKey))
 }