如何解密哈希从这个函数获取

时间:2017-12-12 10:08:08

标签: node.js cryptojs

我们正在使用此功能在应用中加密我们的密码。当我们需要实际字符串时如何解密它们。var crypto = require('crypto');

function encryptPassword(password) {
    var salt = new Buffer('priotzen', 'base64');
    return crypto.pbkdf2Sync(password, salt, 10000, 64).toString('base64');
}

谢谢:)

1 个答案:

答案 0 :(得分:1)

您提供的代码会生成单向哈希。如果使用此方法,则可以通过比较散列值来验证密码。无法解密现有密码。如果用户忘记了密码,则会重置密码。

如果您真的想拥有可检索的密码,那么您需要查看加密而不是哈希算法。对于此类应用,对称密钥加密(如AES)可能是合适的。

请记住,加密在计算上比散列要昂贵得多,而且安全性较低。哈希几乎总是首选密码。除非有一些非常令人信服的理由要求可检索密码,否则您应该引导客户端使用单向哈希密码。