【问题标题】:Encryption for storing user credentials用于存储用户凭据的加密
【发布时间】:2018-09-19 22:29:20
【问题描述】:

我想将用户凭据存储在实时云数据库中。我的基本思想是使用带有双盐和主密码的散列对其进行散列并存储散列凭证和使用的盐。

当我解密它时,我从用户那里获取主密码并使用存储了盐的凭据解密凭据。但问题是当用户忘记主密码时,所有凭证数据都将被废弃,因为没有盐和主密码的组合就无法解密。而且我无法存储主密码,否则它将变得容易受到攻击。

我应该在这里做什么来完成我的任务? 如果有人有完全不同的方法,那也很好。

【问题讨论】:

  • 如果涉及到安全性,我建议至少先看看广泛使用的库(例如jasypt),然后再自己进行加密。顺便说一句,您应该无法解密哈希。您可能想比较哈希值。

标签: java security firebase-realtime-database hash


【解决方案1】:

你可以尝试做两次。一个是用户的密码,另一个是你自己的密码。有了这个,您将能够创建一个新的解密副本并使用用户的新密码创建一个新的。这样做的问题是,如果您都忘记了密码,那么您注定要失败。

【讨论】:

    猜你喜欢
    • 2013-09-09
    • 2013-07-23
    • 2013-11-19
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    相关资源
    最近更新 更多