我们正在使用bcrypt用于散列密码和永远不需要解密的数据。我们应该如何保护其他需要解密的用户信息呢?
例如,假设我们不希望用户的真实姓名是纯文本形式,以防有人获得数据库的访问权限。这是有些敏感的数据,但也需要不时调用并以纯文本形式显示。有没有一种简单的方法可以做到这一点?
您可以使用crypto module:
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);
Edit
Now 创建密码 and 创建解密已弃用,改为使用创建密码 and 创建解密iv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)