Forza della crittografia sotto aes

0

È necessario memorizzare il codice utente crittografato nel nostro database e ottenere in cambio il modulo decrittografato. Utilizzare il modulo nodo standard crypto per farlo. Volevo capire la forza della crittografia sottostante in termini di sicurezza. Offre sicurezza sufficiente e in che modo la scelta della password influisce sulla forza della crittografia qui. Scusa un po 'di nuovo per sicurezza e crittografia.

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');
    
posta user27111987 07.08.2017 - 09:20
fonte

1 risposta

2
var key = 'some_password';

Questo deve andare.

L'uso di una stringa stampabile come chiave effettiva non è una buona idea. Probabilmente sceglierai solo caratteri stampabili dalla metà inferiore della tabella ASCII, che è una quantità molto piccola di entropia per byte, e sicuramente questo potrebbe essere per i test, ma faresti bene a cercare nella soluzione completa anche a questo stage.

Anche se stai solo esplorando o praticando, le vecchie abitudini sono dure a morire. Inizia sicuro.

Il modulo crypto fornisce una funzione di derivazione chiave basata su password (PBKDF2), che può trasformare le stringhe di stampa in ottimo materiale chiave come crypto.pbkdf2 classe.

    
risposta data 07.08.2017 - 11:37
fonte

Leggi altre domande sui tag