【问题标题】:what is the criteria to choose encryption algorithm for my system为我的系统选择加密算法的标准是什么
【发布时间】:2011-04-26 17:44:35
【问题描述】:

我正在开发一个将应用于真实环境的系统。我需要为系统制定高安全机制,其中之一是对我的数据库中的用户密码进行加密。

我更喜欢使用单向加密方法而不是双向加密,问题是我想选择一个性能好并且有合理理由说服我的合作伙伴为什么我选择一种算法而不是其他算法的好算法。

你能给我一些建议吗?

【问题讨论】:

  • 为什么你更喜欢加密而不是“加密哈希函数”?如果你更喜欢加密,有很多算法,但你的目标是什么?性能、空间……?
  • 我想您只想存储密码以进行验证?还是您想存储它们以便用户可以检索它们的值?答案很大程度上取决于用例。

标签: java encryption password-hash


【解决方案1】:

不要只使用简单的单向哈希。

改用PBKDF2bcrypt 之类的东西。我确信 Java 会有很好的、免费的、现成的实现(假设它们还没有包含在 JRE 本身中)。

【讨论】:

  • PBKDF2 是 - 使用算法字符串 "PBKDF2WithHmacSHA1" - 但 bcrypt 不是,并且由于某种原因不在 Bouncy Castle 中。
【解决方案2】:

我不知道你在寻找什么样的论据,但是:

SHA 是一种很好的单向哈希函数。

http://en.wikipedia.org/wiki/Secure_Hash_Algorithm

编辑:

【讨论】:

  • 我不明白你所说的争论是什么意思?
  • 作为向您的合作伙伴展示选择一种算法而不是另一种算法的论据。
  • 实际上我正在做我的毕业设计,我必须告诉我的合作伙伴我为什么要在代码中编写每一行,以便准备好在医生和教授面前讨论它:)
猜你喜欢
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 2020-12-18
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
  • 2020-07-31
相关资源
最近更新 更多