17755135699 1 year ago
parent
commit
4293c11cf2
1 changed files with 61 additions and 0 deletions
  1. 61 0
      utils/aes.js

+ 61 - 0
utils/aes.js

@@ -0,0 +1,61 @@
+import CryptoJS from "crypto-js";
+ //秘钥
+const CRYPTOJSKEY= "szhdxfiCPTh3zDaW";
+
+// 加密
+export const encrypt = plaintText => {
+    var plaintText = plaintText;
+    var options = {
+        mode: CryptoJS.mode.ECB,
+        padding: CryptoJS.pad.Pkcs7
+    };
+    var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
+    var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
+    var encryptedBase64Str = encryptedData.toString().replace(/\//g, "_");
+    encryptedBase64Str = encryptedBase64Str.replace(/\+/g,"-");
+    return encryptedBase64Str;
+}
+
+//解密
+export const decrypt = encryptedBase64Str => {
+    var vals = encryptedBase64Str.replace(/\-/g, '+').replace(/_/g, '/');
+    var options = {
+        mode: CryptoJS.mode.ECB,
+        padding: CryptoJS.pad.Pkcs7
+    };
+    var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
+    var decryptedData = CryptoJS.AES.decrypt(vals, key, options);
+    var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData);
+    return decryptedStr
+}
+
+//type:1 姓名、2 手机号、3 身份证
+export const tuomin = (value,type) => {
+	if(!value) return;
+	let res = '';
+	if(type==1){
+		let arr = Array.from(value)
+		if (arr.length === 2) {
+			res = arr[0] + '*'
+		} else if (arr.length > 2) {
+			for (let i = 1; i < arr.length - 1; i++) {
+			  arr[i] = '*'
+			}
+			res = arr.join("")
+		}else {
+			res = value
+		}
+	}else if(type==2){
+		res = value.replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2");
+	}else if(type==3){
+		res = value.replace(/^(.{4})(?:\d+)(.{4})$/, "$1**********$2");
+	}
+	
+	return res;
+}
+
+export default {
+	encrypt,
+	decrypt,
+	tuomin
+}