var runBefore=function (code,url,path,method,query,header,body,param) { var Base64=BASE64.encoder,MD5=CryptoJS.MD5,SHA1=CryptoJS.SHA1,SHA256=CryptoJS.SHA256,SHA512=CryptoJS.SHA512,SHA3=CryptoJS.SHA3,RIPEMD160=CryptoJS.RIPEMD160,AES=CryptoJS.AES.encrypt,TripleDES=CryptoJS.TripleDES.encrypt,DES=CryptoJS.DES.encrypt,Rabbit=CryptoJS.Rabbit.encrypt,RC4=CryptoJS.RC4.encrypt,RC4Drop=CryptoJS.RC4Drop.encrypt; try { if(code) { eval(code); } } catch (err) { console.log("Before Error:"+err); } }
var encrypt=function (type,val,salt) { if(!val) { return "" } var arr=["Base64","MD5","SHA-1","SHA-256","SHA-512","SHA-3","RIPEMD-160"]; var arrFunc=[BASE64.encoder,CryptoJS.MD5,CryptoJS.SHA1,CryptoJS.SHA256,CryptoJS.SHA512,CryptoJS.SHA3,CryptoJS.RIPEMD160] var arrSalt=["AES","TripleDES","DES","Rabbit","RC4","RC4Drop"]; var arrSaltFunc=[CryptoJS.AES.encrypt,CryptoJS.TripleDES.encrypt,CryptoJS.DES.encrypt,CryptoJS.Rabbit.encrypt,CryptoJS.RC4.encrypt,CryptoJS.RC4Drop.encrypt]; var index=arr.indexOf(type); if(index>-1) { return arrFunc[index](val).toString(); } index=arrSalt.indexOf(type); if(index>-1) { return arrSaltFunc[index](val,salt).toString(); } return val; }
const n = function (t, n) { var d = e.enc.Utf8.parse(e.MD5(r)), p = e.enc.Utf8.parse(n) return e.AES.decrypt(t, d, { iv: p, mode: e.mode.CBC, padding: e.pad.ZeroPadding }).toString(e.enc.Utf8) }
const t = function (t, n) { var d = e.enc.Utf8.parse(e.MD5(r)), p = e.enc.Utf8.parse(n) return e.AES.encrypt(t, d, { iv: p, mode: e.mode.CBC, padding: e.pad.ZeroPadding }).toString() }
/** * Encrypts data * @param data * @param secret */ cipherData(data, secret) { let encrypted = CryptoJS.AES.encrypt(data, secret).toString(); let b64 = CryptoJS.enc.Base64.parse(encrypted); encrypted = b64.toString(CryptoJS.enc.Hex); return encrypted; }
function saveAccounts(accounts, masterPassword) { var encryptedAccounts = crypto.AES.encrypt(JSON.stringify(accounts),masterPassword); storage.setItemSync('accounts',encryptedAccounts.toString()); return accounts; }
// 先加密后加签 function aesEncrypt(data, aesKey) { const { iv, key, } = parseKey(aesKey); const cipherText = CryptoJS.AES.encrypt(JSON.stringify(data), key, { iv, }).toString(); return cipherText; }
var encrypt = function(pass, message) { var salt = Crypto.lib.WordArray.random(saltSize / 8); var key = Crypto.PBKDF2(pass, salt, {keySize: keySize / 32, iterations: iterations}); var iv = Crypto.lib.WordArray.random(ivSize / 8); var encrypted = Crypto.AES.encrypt(message, key, { iv: iv, padding: Crypto.pad.Pkcs7, mode: Crypto.mode.CBC }); var encryptedHex = base64ToHex(encrypted.toString()); var base64result = hexToBase64(salt + iv + encryptedHex); return base64result; }
it('GET /direct', function () { var file = 'ok' + rand.rand() var r = rand.rand() fs.writeFile(path.join(__base, __config.directory.path, file), r, function (err) { assert(!err) request.get({ url: url + '/directdl/' + Crypto.AES.encode(file, '').toString() }, function (err, res, body) { assert(!err) if (!err && res.statusCode === 200) { assert.equal(body, r) assert(!JSON.parse(body).err) } done() }) }) })
var decrypt = function(pass, message) { var hexResult = base64ToHex(message) var salt = Crypto.enc.Hex.parse(hexResult.substr(0, 64)); var iv = Crypto.enc.Hex.parse(hexResult.substr(64, 32)); var encrypted = hexToBase64(hexResult.substring(96)); var key = Crypto.PBKDF2(pass, salt, { keySize: keySize / 32, iterations: iterations }); var decrypted = Crypto.AES.decrypt(encrypted, key, { iv: iv, padding: Crypto.pad.Pkcs7, mode: Crypto.mode.CBC }) return decrypted.toString(Crypto.enc.Utf8); }
const encryptationData = (data, key) => { const encryptedMessage = {}; const uid = create16Uiid(); const iv = encryptionBase64(uid); const code = CryptoJS.AES.encrypt(data, CryptoJS.MD5(key), { iv: CryptoJS.enc.Utf8.parse(uid), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, }); encryptedMessage.uid = uid; encryptedMessage.iv = iv; encryptedMessage.data = code.ciphertext.toString(CryptoJS.enc.Base64); return encryptedMessage; }
/** * Decripts data * @param encryptedData * @param secret * @returns {*} */ decipherData(encryptedData, secret) { let data; try { let b64 = CryptoJS.enc.Hex.parse(encryptedData); let bytes = b64.toString(CryptoJS.enc.Base64); data = CryptoJS.AES.decrypt(bytes, secret); data = data.toString(CryptoJS.enc.Utf8); } catch (e) { console.log('Error decrypting data: ' + e) } return data; }
// account.name // account.username // account.password function getAccounts(masterPassword) { var encryptedAccount = storage.getItemSync('accounts'); var accounts = []; if(typeof encryptedAccount !== 'undefined'){ var bytes = crypto.AES.decrypt(encryptedAccount,masterPassword); accounts = JSON.parse(bytes.toString(crypto.enc.Utf8)) } return accounts; }
const decryptionData = (data, key, iv) => { const iv64 = decryptionBase64(iv); const code = CryptoJS.AES.decrypt(data, CryptoJS.MD5(key), { iv: CryptoJS.enc.Utf8.parse(iv64), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, }); return code.toString(CryptoJS.enc.Utf8); }
// 解密 function aesDecrypt(data, aesKey) { const { iv, key, } = parseKey(aesKey); const bytes = CryptoJS.AES.decrypt(data, key, { iv, }); const decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8)); return decryptedData; }