import crypto from 'crypto'; const algorithm = 'aes-256-ecb'; const secret = process.env.SECRET_KEY; if (!secret) { console.warn('[encryption] SECRET_KEY fehlt – verwende unsicheren Fallback (nur für Entwicklung).'); } const key = crypto.scryptSync(secret || 'DEV_FALLBACK_SECRET', 'salt', 32); export const generateIv = () => { return crypto.randomBytes(16).toString('base64'); }; export const encrypt = (text) => { const cipher = crypto.createCipheriv(algorithm, key, null); let encrypted = cipher.update(text, 'utf8', 'hex'); encrypted += cipher.final('hex'); return encrypted; }; export const decrypt = (text) => { try { const decipher = crypto.createDecipheriv(algorithm, key, null); let decrypted = decipher.update(text, 'hex', 'utf8'); decrypted += decipher.final('utf8'); return decrypted; } catch (error) { console.log(error); return null; } };