【问题标题】:Should I store passphrase in jsp我应该在jsp中存储密码吗
【发布时间】:2014-01-17 03:23:38
【问题描述】:

我需要使用 PBKDF2WithHmacSHA1 算法、CryptoJs 库在 jsp 中生成带有密码的密钥,然后我使用此密钥加密用户登录密码并传递给服务器,并在服务器中再次生成密钥并解密用户登录密码。

我知道我不应该在登录期间通过 http 将密码或密钥从客户端传递到服务器,但是我可以将密码保存在登录 jsp 页面中吗?如果没有,如何在jsp中使用密码生成密钥?

即使使用javascript变量来存储密码,用户仍然可以使用javascript调试模式来查看密码变量值,所以我认为在jsp中没有隐藏密码值的方法,有什么方法吗?

或者是在客户端使用javascript加密登录密码的设计有问题?

【问题讨论】:

    标签: javascript cryptojs passphrase


    【解决方案1】:

    否。在服务器上为用户输入生成单向哈希(使用最佳实践,包括安全哈希算法和加盐)。通过使用相同算法与用户输入生成新哈希来将任何未来用户输入与该哈希进行比较,然后比较两个哈希

    【讨论】:

    • 那么如何在jsp中生成key呢?
    • > 通过使用相同的算法生成 > 哈希来比较任何未来的用户输入与该哈希是的,那么如何在 jsp 中生成相同的哈希而不将密码存储在 jsp 中?
    • 已编辑:在服务器上生成单向散列以供用户输入(使用最佳实践,包括安全散列算法和加盐)。通过使用相同算法与用户输入生成新散列,将任何未来用户输入与该散列进行比较,然后比较两个散列。
    • @user1169587,你只存储哈希。您必须通过生成新哈希并将新哈希与原始哈希进行比较来比较用户未来的任何输入。
    • 还是不明白,在jsp中生成新的hash,需要在jsp中生成key,然后在jsp中需要passphrase...
    猜你喜欢
    • 2011-03-03
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 2017-07-05
    相关资源
    最近更新 更多