const crypto = require('crypto'); function decryptResponse(encryptedData, date, tokenSecret) { // Décodage Base64 const encrypted = Buffer.from(encryptedData, 'base64'); // Génération de la clé const key = crypto.createHash('sha256').update(date + tokenSecret).digest(); // Génération de l'IV const iv = crypto.createHash('sha256').update(key).digest().slice(0, 16); // Déchiffrement AES-256-CBC const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv); let decrypted = decipher.update(encrypted); decrypted = Buffer.concat([decrypted, decipher.final()]); return JSON.parse(decrypted.toString('utf-8')); } // Exemple d'utilisation const encryptedResponse = "U2FsdGVkX1+abc123..."; // Réponse chiffrée de l'API const date = "2026-05-20 14:30:00"; // Date envoyée dans la requête const tokenSecret = "votre-token-secret"; // Votre clé secrète API const data = decryptResponse(encryptedResponse, date, tokenSecret); console.log(data);