UNPKG

phx-react

Version:

PHX REACT

64 lines 2.34 kB
import CryptoJS from 'crypto-js'; import { IV_LENGTH, SECRET_KEY } from '../utils/constants'; export const encryptDataSync = (data) => { const iv = CryptoJS.lib.WordArray.random(IV_LENGTH); const encrypted = CryptoJS.AES.encrypt(JSON.stringify(data), CryptoJS.enc.Hex.parse(SECRET_KEY), { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, }); return JSON.stringify({ iv: CryptoJS.enc.Base64.stringify(iv), encryptedData: encrypted.toString(), }); }; export const decryptCookie = (encryptedJson) => { try { const { encryptedData, iv } = JSON.parse(encryptedJson); const ivBytes = CryptoJS.enc.Base64.parse(iv); const secretKeyBytes = CryptoJS.enc.Hex.parse(SECRET_KEY); const decrypted = CryptoJS.AES.decrypt(encryptedData, secretKeyBytes, { iv: ivBytes, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, }); const decryptedText = decrypted.toString(CryptoJS.enc.Utf8); return decryptedText ? JSON.parse(decryptedText) : null; } catch (error) { console.error('[decryptCookie] Error:', error); return null; } }; // chuyển chữ có dấu thành không dấu export function unaccentValue(rawValue) { if (!rawValue) return ''; return rawValue .normalize('NFD') // Tách các ký tự có dấu thành ký tự cơ bản và dấu .replace(/[\u0300-\u036f]/g, '') // Loại bỏ các dấu .replace(/Đ/g, 'D') // Thay Đ thành D .replace(/đ/g, 'd'); // Thay đ thành d } export const getResponsiveClass = (prefix, value, map) => { if (!value) return ''; if (typeof value !== 'object') { const finalVal = map ? map[value] : value; return finalVal ? `${prefix}-${String(finalVal)}` : prefix; } return Object.entries(value) .map(([breakpoint, val]) => { if (val === undefined) return ''; const finalVal = map ? map[val] : val; const classBody = finalVal ? `${prefix}-${String(finalVal)}` : prefix; if (breakpoint === 'initial') { return classBody; } return `${breakpoint}:${classBody}`; }) .filter(Boolean) .join(' '); }; //# sourceMappingURL=helpers.js.map