import CryptoJS from"crypto-js";class Encryption{get encryptMethodLength(){const e=this.encryptMethod,t=e.match(/\d+/)[0];return parseInt(t)}get encryptKeySize(){const e=this.encryptMethodLength;return parseInt(e/8)}get encryptMethod(){return"AES-256-CBC"}decrypt(e,t){const n=JSON.parse(CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(e))),o=CryptoJS.enc.Hex.parse(n.salt),i=CryptoJS.enc.Hex.parse(n.iv),a=n.ciphertext;let s=parseInt(n.iterations);s<=0&&(s=999);const r=this.encryptMethodLength/4,c=CryptoJS.PBKDF2(t,o,{hasher:CryptoJS.algo.SHA512,keySize:r/8,iterations:s}),l=CryptoJS.AES.decrypt(a,c,{mode:CryptoJS.mode.CBC,iv:i});return l.toString(CryptoJS.enc.Utf8)}}export default Encryption