węzeł.js: szyfrowanie danych, które trzeba odszyfrować?

Używamy bcrypt dla haseł i danych, które nigdy nie muszą być odszyfrowane.

Co należy zrobić, aby chronić inne informacje użytkownika, które robią. W tym przykładzie powiedzmy, że nie chcieliśmy, aby Prawdziwa nazwa użytkownika była w zwykłym tekście na wypadek, gdyby ktoś miał uzyskać db.

Są to dane wrażliwe, ale muszą być również wywoływane od czasu do czasu i wyświetlane w postaci zwykłego tekstu. Czy jest na to prosty sposób?

Author: fancy, 2011-08-05

1 answers

Możesz użyć modułu crypto :

var crypto = require('crypto');
var assert = require('assert');

var algorithm = 'aes256'; // or any other algorithm supported by OpenSSL
var key = 'password';
var text = 'I love kittens';

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');

assert.equal(decrypted, text);
 108
Author: mak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-05 08:42:06