You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.7 KiB
84 lines
2.7 KiB
import CryptoJS from 'crypto-js' |
|
import md5 from 'js-md5' |
|
|
|
// let Base64 = require('js-base64').Base64 |
|
// import { JSEncrypt } from 'jsencrypt' |
|
var keyStr = 'qDfajQ*v@W1mCruZ' |
|
|
|
export default { |
|
/** |
|
* @param {*需要加密的字符串 注:对象转化为json字符串再加密} word |
|
* @param {*aes加密需要的key值,这个key值后端同学会告诉你} keyStr |
|
*/ |
|
encrypt(word) { // 加密 |
|
var key = CryptoJS.enc.Utf8.parse(keyStr) |
|
var srcs = CryptoJS.enc.Utf8.parse(word) |
|
var encrypted = CryptoJS.AES.encrypt(srcs, key, { |
|
mode: CryptoJS.mode.ECB, |
|
padding: CryptoJS.pad.Pkcs7 |
|
}) // 加密模式为ECB,补码方式为PKCS5Padding(也就是PKCS7) |
|
return encrypted.toString() |
|
}, |
|
decrypt(word) { // 解密 |
|
var key = CryptoJS.enc.Utf8.parse(keyStr) |
|
// var srcs = CryptoJS.enc.Utf8.parse(word) |
|
if (word) { |
|
word = word.replace(/[\r\n]/g, "") |
|
} |
|
var decrypt = CryptoJS.AES.decrypt(word, key, { |
|
mode: CryptoJS.mode.ECB, |
|
padding: CryptoJS.pad.Pkcs7 |
|
}) |
|
return CryptoJS.enc.Utf8.stringify(decrypt).toString() |
|
}, |
|
// decrypt (word) { |
|
// var key = CryptoJS.enc.Utf8.parse(keyStr) |
|
// var encryptedHexStr = CryptoJS.enc.Hex.parse(word); |
|
// var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); |
|
// var decrypt = CryptoJS.AES.decrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }) |
|
// return decrypt.toString(CryptoJS.enc.Utf8).toString(); |
|
// }, |
|
// encrypt(data) { |
|
// // 新建JSEncrypt对象 |
|
// let encryptor = new JSEncrypt(); |
|
// // 设置公钥 |
|
// encryptor.setPublicKey(keyStr); |
|
// // 加密数据 |
|
// return encryptor.encrypt(data); |
|
// }, |
|
// // 解密 |
|
// decrypt(data) { |
|
// // 新建JSEncrypt对象 |
|
// let decrypt = new JSEncrypt(); |
|
// // 设置私钥 |
|
// decrypt.setPrivateKey(keyStr); |
|
// // 解密数据 |
|
// return decrypt.decrypt(secretWord); |
|
// }, |
|
md5Salt(str) { |
|
// console.log('hahahahaha',str, str + "Do&9hY%l8e", md5(str + 'Do&9hY%l8e')) |
|
// str ='fd3fc615-3554-4ff5-8848-364577e8687d' |
|
// console.log('hahahahaha', str, str + "kdq*&qflbn1gga?aDq", md5(str + 'kdq*&qflbn1gga?aDq')) |
|
// console.log('\n\n------ begin: ------') |
|
// console.log("md5(str + 'kdq*&qflbn1gga?aDq')", md5(str + 'kdq*&qflbn1gga?aDq')) |
|
// console.log('------ end: ------\n\n') |
|
return md5(str + 'kdq*&qflbn1gga?aDq') |
|
}, |
|
md5NoSalt(str) { |
|
return md5(str) |
|
}, |
|
uuid() { // 获取uuid |
|
var s = [] |
|
var hexDigits = '0123456789abcdef' |
|
for (var i = 0; i < 36; i++) { |
|
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1) |
|
} |
|
s[14] = '4' |
|
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) |
|
s[8] = s[13] = s[18] = s[23] = '-' |
|
|
|
var uuid = s.join('') |
|
return uuid |
|
} |
|
|
|
} |