From 4a970f0abce9820dfde9ec3786f411b06eedb8e9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 18 四月 2025 16:38:13 +0800
Subject: [PATCH] 代码初始化

---
 h5/utils/encrypt.js    |   28 ++++++++++++++
 h5/utils/decryption.js |   52 ++++++++++++++++++++++++++
 2 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/h5/utils/decryption.js b/h5/utils/decryption.js
new file mode 100644
index 0000000..ae73403
--- /dev/null
+++ b/h5/utils/decryption.js
@@ -0,0 +1,52 @@
+// AES
+import CryptoJS from 'crypto-js'
+import JSEncrypt from 'jsencrypt'
+import {
+  generateRandomObj,
+  rsaPassWord
+} from './encrypt.js'
+// 绉侀挜
+// const privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJkOgs/FrhpXs3QzdhiQ9eFdK7HECPNPadhecJA5SU2kEx+FlRnbA7Z9/Tqg9RYV4zuuxp3cYp9fa8AywRzVIHYLCokt39bUYIsEVJQdh4KRr1usl/x8Wv24GjcnuDlsLnwAgSsqNcVM/4XhtaeqyrmNMEbT7YqxJjBGJNamwSfXAgMBAAECgYADkiQZJtqGAM/OATlbH16tMFhJoHI5AvxMMP/dTYjZR9+uV5Z/8O0oP849pO2y4zXW+Z/mpPKkFzzTUhvRSWOldBFOmjktPdCBA8NuyFT3+dlew202pEbjDxdnTjb+GTNnli0cHoILsJGoqEeCCddNbtlidv0kFQWubbgfuSNf2QJBAOHmb9v36hnmcH3eLEo2wy7bEE30q+UoUGzAlLw2Tv/APh82NV6VVB11duYDeifAE0wJFtImp9zEDrVcmiN5PNMCQQCtc1kwdP15Dfj+miTkmjKbsona3+m06XQ0VbeUelQ07VtAG9zpkaza7c8JEA15cOcxHECFG5f2E4f3KBl543ZtAkBBtj6jxiIbFqVyd8Z6cCOm5aKAisPWDTwX5o1dko64ZruraKFtuhKV3y2PC0PlfEIgxCQXTZdW6NE+gIl1+DZxAkAsC3iAh5S+IsAx1u67ZjSnuOSsweNU31t01rdxasbrUcK0Ot8UKLveNDk4sezaA8ORgv0XT/R8tmT2bCZb/1jZAkBUqgcdO5b9YM9wumvKIDHhKuIobrRYlIhSfh36Iaor0VO9a+Xl0c5lwmZmZDyZHE/mfhuVkjdifOwEeORnWPs7";
+// const privateKey = uni.getStorageSync('aes_private_key')
+
+export function decryptedData (msg, data) {
+  console.log(msg)
+  console.log(data)
+  // 鍙樻崲key:灏嗗綋鏈堜綅鏁板瓧绗︿覆鍘婚櫎锛岀劧鍚庡�掑簭
+  const monthIndex = new Date().getMonth() + 1
+  const msgStr = msg.slice(0, monthIndex) + msg.slice(monthIndex + 1)
+  const reverseMsgStr = msgStr.split('').reverse().join('')
+  const str1 = data.replace(/\s/g, '')
+  console.log(reverseMsgStr)
+  console.log(str1)
+  // 瑙e瘑骞惰繑鍥炵粨鏋�
+  return (
+    JSON.parse(
+      CryptoJS.AES.decrypt({
+        ciphertext: CryptoJS.enc.Base64.parse(str1)
+      },
+      CryptoJS.enc.Utf8.parse(reverseMsgStr), {
+        mode: CryptoJS.mode.ECB,
+        padding: CryptoJS.pad.Pkcs7,
+        iv: CryptoJS.enc.Utf8.parse('AES/CBC/PKCS5Padding')
+      }
+      ).toString(CryptoJS.enc.Utf8)
+    ) || {}
+  )
+}
+
+// 瀵规暟鎹姞瀵�
+export function encryptData (data) {
+  const str = CryptoJS.AES.encrypt(
+    JSON.stringify(data),
+    CryptoJS.enc.Utf8.parse(generateRandomObj), {
+      mode: CryptoJS.mode.ECB,
+      padding: CryptoJS.pad.Pkcs7,
+      iv: CryptoJS.enc.Utf8.parse('AES/CBC/PKCS5Padding')
+    }
+  ).toString()
+  return {
+    data: str,
+    ivKey: rsaPassWord
+  }
+}
diff --git a/h5/utils/encrypt.js b/h5/utils/encrypt.js
new file mode 100644
index 0000000..c4a1978
--- /dev/null
+++ b/h5/utils/encrypt.js
@@ -0,0 +1,28 @@
+// RSA
+import JSEncrypt from 'jsencrypt'
+/******************************************************************************/
+// 鍏挜
+
+// const publicKey = uni.getStorageSync('aes_public_key')
+const publicKey =
+	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOgrUW4jM5Y" +
+	"2irUCpvpyBn41aTRfGHNQuBHIByK9fbc" +
+	"lNXXt7/QuQj3NQCfwknBBCHcM7A38eC249UxjFkLHAm+I9o15INjF/TrHtlzkzzS9jiek" +
+	"godhUuM4eVxXQUcDNdAgSkKFt9T5WRXg2cjEZQyoi5DlIWLmOqixmx8OKFRQIDAQAB";
+
+function generateRandomString () {
+  const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
+  let result = ''
+  const charactersLength = characters.length
+  for (let i = 0; i < 16; i++) {
+    result += characters.charAt(Math.floor(Math.random() * charactersLength))
+  }
+  return result
+}
+
+export const generateRandomObj = generateRandomString()
+// 璋冪敤鍑芥暟鐢熸垚闅忔満瀛楃涓�
+const encryptor = new JSEncrypt() // 鍒涘缓鍔犲瘑瀵硅薄瀹炰緥
+// console.log(publicKey)
+encryptor.setPublicKey(publicKey) // 璁剧疆鍏挜
+export const rsaPassWord = encryptor.encrypt(generateRandomObj)

--
Gitblit v1.9.3