一尘不染

node.js:加密需要解密的数据?

node.js

我们正在使用bcrypt来存储不需要解密的密码和数据。

应该采取什么措施来保护其他这样做的用户信息。对于此示例,假设我们不希望用户的真实姓名采用纯文本格式,以防有人获取数据库。

这是一些敏感数据,但还需要不时调用并以纯文本显示。有没有简单的方法可以做到这一点?


阅读 255

收藏
2020-07-07

共1个答案

一尘不染

您可以使用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);

编辑

现在 createCiphercreateDecipher 已被弃用,而不是使用 createCipheriv
createDecipheriv

2020-07-07