You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Data below is very slow, it takes about 26 seconds to encrypt 8mb data.
I also submited the data as attacment
import React from 'react';
import CryptoES from 'crypto-es';
import Base64 from './base64';
let start = null;
class speedtest{
static start(txt){
start = Date.now();
if( txt !== undefined )
console.log(txt);
}
static end(txt){
console.log(txt, ((Date.now() - start) / 1000) + " seconds");
}
}
export default class Ws_crypto {
static mac_hash = null;
static sign(data) {
speedtest.start('CRYPTO');
if (!Ws_crypto.mac_hash)
return {'data': null, mac: null};
let key_string = Ws_crypto.mac_hash;
let iv_string = CryptoES.lib.WordArray.random(16).toString();
let mac_string = null;
let encrypted_string = null;
speedtest.end('CCC-1');
let encHex = CryptoES.enc.Hex;
let aes = CryptoES.AES;
let Pkcs7 = CryptoES.pad.Pkcs7;
speedtest.end('CCC-2');
// the key and iv should be 32 hex digits each, any hex digits you want, but it needs to be 32 on length each
let key = encHex.parse(key_string);
let iv = encHex.parse(iv_string);
try {
//data = JSON.parse(data);
} catch (error) {
}
let data_string = typeof data == 'object' ? JSON.stringify(data) : data;
speedtest.end('CCC-3');//above takes 13 seconds total time
// encrypt the message
encrypted_string = aes.encrypt(data_string, key, {
iv: iv,
padding: Pkcs7,
mode: CryptoES.mode.CBC
}).toString();
speedtest.end('CCC-4');//above takes 26 seconds total time
mac_string = CryptoES.HmacSHA256(encrypted_string, key).toString(CryptoES.enc.Hex);
speedtest.end('CCC-5');
let ret = {'data': data_string, 'mac': Base64.btoa(mac_string + iv_string)};
speedtest.end('CCC-6');
return ret;
}
}
@eviltik
i tried with crypto-js and with crypto-es. both are slow with big data set.
for now i avoided image string encryption but it would be very good for security
Data below is very slow, it takes about 26 seconds to encrypt 8mb data.
I also submited the data as attacment
_data.txt
The text was updated successfully, but these errors were encountered: