export const encrypt = (word, keyStr) => { keyStr = keyStr ? keyStr : "0123456789QMSaas"; var key = window.CryptoJS.enc.Utf8.parse(keyStr); //Latin1 w8m31+Yy/Nw6thPsMpO5fg== var srcs = window.CryptoJS.enc.Utf8.parse(word); var encrypted = window.CryptoJS.AES.encrypt(srcs, key, { mode: window.CryptoJS.mode.ECB, padding: window.CryptoJS.pad.Pkcs7, }); return encrypted.toString(); }; export const decrypt = (word, keyStr) => { keyStr = keyStr ? keyStr : "0123456789QMSaas"; var key = window.CryptoJS.enc.Utf8.parse(keyStr); //Latin1 w8m31+Yy/Nw6thPsMpO5fg== var decrypt = window.CryptoJS.AES.decrypt(word, key, { mode: window.CryptoJS.mode.ECB, padding: window.CryptoJS.pad.Pkcs7, }); return window.CryptoJS.enc.Utf8.stringify(decrypt).toString(); }; const getStamp = () => parseInt(new Date().getTime() / 1000); export const assembleUrl = (url) => { const [prefix, uri] = url.split("mall"); let stamp = getStamp(); let token = encodeURIComponent(encrypt(uri + stamp)); return `${prefix}mall${uri}?token=${token}&time=${stamp}`; };