-
Notifications
You must be signed in to change notification settings - Fork 0
/
aes.js
46 lines (37 loc) · 2.39 KB
/
aes.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
* * * * * * * * * * * * * * *
Encriptación AES-256 utilizando el módulo Crypto de Node.js
Para correr el script es necesario tener instalado Node.js y usar el comando: node aes.js
* * * * * * * * * * * * * * *
ColScript, 2015
*/
// Metódo para encriptación de cadenas de 15 caracteres o menos.
var crypto = require('crypto'); // Carga el módulo crypto.
var key = 'salt'; // Clave para utilizar en la encriptación simétrica.
var plainText = 'Texto de prueba de más de 15 caracteres.'; // Texto a encriptar.
var cipher = crypto.createCipher('aes-256-cbc', key); // Crea el encriptador usando la clave y el algoritmo AES-256
var decipher = crypto.createDecipher('aes-256-cbc', 'Salt'); // Crea el desencriptador para el algoritmo AES-256 y la clave.
cipher.update(plainText, 'utf8', 'base64'); // Ejecuta la encriptación.
var encrypted = cipher.final('base64'); // Asigna la cadena encriptada a la variable encrypted.
decipher.update(encrypted, 'base64', 'utf8'); // Ejecuta la desencriptación.
var decrypted = decipher.final('utf8'); // Asigna la cadena desencriptada a la variable decrypted.
// Imprime los 3 valores, cadena original, cadena encriptada y cadena desencriptada.
console.log('\nOriginal Text : ', plainText, '\n');
console.log('Encrypted Text : ', encrypted, '\n');
console.log('Decrypted Text : ', decrypted, '\n\n');
// Método para encriptación de cadenas de más de 15 caracteres.
/*
var crypto = require('crypto');
var key = 'salt';
var plainText = 'Texto de prueba de más de 15 caracteres.';
var cipher = crypto.createCipher('aes-256-cbc', key);
var decipher = crypto.createDecipher('aes-256-cbc', key);
var encrypted = cipher.update(plainText, 'utf8', 'base64'); // Asigna la primera parte de la cadena encriptada a la variable.
encrypted += cipher.final('base64'); // Concatena el resto de la cadena encriptada a la variable.
var decrypted = decipher.update(encrypted, 'base64', 'utf8'); // Asigna la primera parte de la cadena desencriptada a la variable.
decrypted += decipher.final('utf8'); // Concatena el resto de la cadena desencriptada a la variable.
// Imprime los 3 valores, cadena original, cadena encriptada y cadena desencriptada.
console.log('\nOriginal Text : ', plainText, '\n');
console.log('Encrypted Text : ', encrypted, '\n');
console.log('Decrypted Text : ', decrypted, '\n\n');
*/