39
我們使用bcrypt獲取永不需要解密的密碼和數據。node.js:加密需要解密的數據?
該怎麼做才能保護其他用戶信息。對於這個例子,我們可以說我們不希望用戶真實姓名是純文本的,以防有人獲得數據庫。
這是一些敏感的數據,但也需要不時調用並以純文本顯示。有沒有簡單的方法來做到這一點?
我們使用bcrypt獲取永不需要解密的密碼和數據。node.js:加密需要解密的數據?
該怎麼做才能保護其他用戶信息。對於這個例子,我們可以說我們不希望用戶真實姓名是純文本的,以防有人獲得數據庫。
這是一些敏感的數據,但也需要不時調用並以純文本顯示。有沒有簡單的方法來做到這一點?
可以使用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);
你會推薦添加一個IV來使它更安全嗎?如果是這樣,用'crypto'怎麼做? – Fizzix
情況,即攻擊者可以獲取你的數據庫,但不加密密鑰你也磁盤上存儲經常很做作。你確定你已經想到了嗎? –
互聯網非常聰明,樂於助人。當人們選擇通過侮辱你的方式來展示他們的智慧,而不是回答問題或提供實質性指導時,這是非常好的。 – Secesh