Fuerza de encriptación debajo de aes

0

Necesitamos almacenar el código de usuario cifrado en nuestra base de datos y obtener el formulario descifrado a cambio. Usando el módulo de nodo estándar criptográfico para hacerlo. Quería entender la fuerza de cifrado a continuación en términos de seguridad. Ofrece suficiente seguridad y cómo la elección de la contraseña afecta la fortaleza del cifrado aquí. Lo siento un poco nuevo para la seguridad y el cifrado.

var crypto = require('crypto');
var algorithm = 'aes256'; // or any other algorithm supported by OpenSSL
var key = 'some_password';
var text = 'EGGDFRR';

var cipher = crypto.createCipher(algorithm, key);  
var encrypted = cipher.update(text, 'utf8', 'hex') + cipher.final('hex');
var decipher = crypto.createDecipher(algorithm, key);
var decrypted = decipher.update(encrypted, 'hex', 'utf8') + decipher.final('utf8');
    
pregunta user27111987 07.08.2017 - 09:20
fuente

1 respuesta

2
var key = 'some_password';

Esto tiene que ir.

No es una buena idea usar una cadena imprimible como la clave real. Es probable que solo esté seleccionando caracteres imprimibles de la mitad inferior de la tabla ASCII, que es una cantidad muy pequeña de entropía por byte, y seguro que esto puede ser para pruebas, pero haría bien en buscar la solución completa incluso en esta etapa.

Incluso si solo estás explorando o practicando, los viejos hábitos son duros. Comience seguro.

El módulo criptográfico proporciona una Función de derivación de claves basada en contraseña (PBKDF2), que puede convertir las cadenas imprimibles en bonitas buen material clave como crypto.pbkdf2 clase.

    
respondido por el Liam Dennehy 07.08.2017 - 11:37
fuente

Lea otras preguntas en las etiquetas