Files
yourpart3/backend/utils/crypto.js
2024-07-28 16:12:48 +02:00

19 lines
722 B
JavaScript

import crypto from 'crypto';
const algorithm = 'aes-256-ecb'; // Verwende ECB-Modus, der keinen IV benötigt
const key = crypto.scryptSync(process.env.SECRET_KEY, 'salt', 32); // Der Schlüssel sollte eine Länge von 32 Bytes haben
export const encrypt = (text) => {
const cipher = crypto.createCipheriv(algorithm, key, null); // Kein IV verwendet
let encrypted = cipher.update(text, 'utf8', 'hex');
encrypted += cipher.final('hex');
return encrypted;
};
export const decrypt = (text) => {
const decipher = crypto.createDecipheriv(algorithm, key, null); // Kein IV verwendet
let decrypted = decipher.update(text, 'hex', 'utf8');
decrypted += decipher.final('utf8');
return decrypted;
};