|
@@ -1,43 +1,26 @@
|
|
-import cryptoJs from 'crypto-js';
|
|
|
|
-
|
|
|
|
-//随机生成指定数量的16进制key
|
|
|
|
-export const generatekey = (num) => {
|
|
|
|
- let library = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
|
|
- let key = "";
|
|
|
|
- for (var i = 0; i < num; i++) {
|
|
|
|
- let randomPoz = Math.floor(Math.random() * library.length);
|
|
|
|
- key += library.substring(randomPoz, randomPoz + 1);
|
|
|
|
- }
|
|
|
|
- return key;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
|
|
+import CryptoJS from 'crypto-js';
|
|
|
|
+
|
|
//DES加密
|
|
//DES加密
|
|
-export const encryptDes = (message, key) => {
|
|
|
|
- var keyHex = key
|
|
|
|
- var option = { mode: cryptoJs.mode.ECB, padding: cryptoJs.pad.Pkcs7 }
|
|
|
|
- console.log(message.toString(cryptoJs.enc.Utf8))
|
|
|
|
- console.log(keyHex)
|
|
|
|
- console.log(option)
|
|
|
|
- var encrypted = cryptoJs.DES.encrypt(message.toString(cryptoJs.enc.Utf8), keyHex, option)
|
|
|
|
- console.log(encrypted)
|
|
|
|
- return cryptoJs.enc.Base64.stringify(encrypted.ciphertext)
|
|
|
|
|
|
+export const encrypt = (message) => {
|
|
|
|
+ var key = 'hkc';
|
|
|
|
+ var keyHex = CryptoJS.enc.Utf8.parse(key);
|
|
|
|
+ var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
|
|
|
|
+ mode: CryptoJS.mode.ECB,
|
|
|
|
+ padding: CryptoJS.pad.Pkcs7
|
|
|
|
+ });
|
|
|
|
+ return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
//DES解密
|
|
//DES解密
|
|
-export const decryptDes = (message, key) => {
|
|
|
|
- //var keyHex = cryptoJs.enc.Utf8.parse(key)
|
|
|
|
- var keyHex = key
|
|
|
|
- //console.log(keyHex)
|
|
|
|
- var decrypted = cryptoJs.DES.decrypt(
|
|
|
|
- {
|
|
|
|
- ciphertext: cryptoJs.enc.Base64.parse(message)
|
|
|
|
- },
|
|
|
|
- keyHex,
|
|
|
|
- {
|
|
|
|
- mode: cryptoJs.mode.ECB,
|
|
|
|
- padding: cryptoJs.pad.Pkcs7
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
- return decrypted.toString(cryptoJs.enc.Utf8)
|
|
|
|
|
|
+export const decrypt = (ciphertext) => {
|
|
|
|
+ var key = 'hkc';
|
|
|
|
+ var keyHex = CryptoJS.enc.Utf8.parse(key);
|
|
|
|
+ var decrypted = CryptoJS.DES.decrypt({
|
|
|
|
+ ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
|
|
|
|
+ }, keyHex, {
|
|
|
|
+ mode: CryptoJS.mode.ECB,
|
|
|
|
+ padding: CryptoJS.pad.Pkcs7
|
|
|
|
+ });
|
|
|
|
+ var result = decrypted.toString(CryptoJS.enc.Utf8);
|
|
|
|
+ return result;
|
|
}
|
|
}
|