|
@@ -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
|
|
|
+}
|