2010-10-18 76 views
1

我正在研究一个将在真实环境中应用的系统。我需要为系统制定高度安全的机制,其中之一就是对我的数据库中的用户密码进行加密。为我的系统选择加密算法的标准是什么

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

你能给我一些提示吗?

+0

为什么你比“密码散列函数”更喜欢加密?如果你更喜欢加密,有很多算法,但你的目标是什么?性能,空间......? – yadab 2010-10-18 07:21:33

+0

我认为你只想存储密码以进行验证?或者你想存储它们,以便用户可以检索它们的值?答案很大程度上取决于用例。 – 2013-02-09 15:54:26

回答

0

我不知道你在找什么样的说法了,但是:

SHA是一个很好的单向散列函数。

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

编辑:

+0

我不明白你的意思? – palAlaa 2010-10-18 00:55:04

+0

作为一个论据,向您的合作伙伴展示一种与另一种相反的算法。 – 2010-10-18 00:56:50

+0

其实我正在研究我的毕业项目,我必须告诉我的合作伙伴为什么我要在代码中的每一行以便准备在医生和教授面前讨论它:) – palAlaa 2010-10-18 01:04:28

3

不要只使用一个简单的单向散列。

改为使用类似PBKDF2bcrypt的东西。我相信Java会有好的,免费的,现成的实现(假设它们尚未包含在JRE本身中)。

+0

PBKDF2是 - 使用算法字符串'“PBKDF2WithHmacSHA1”' - 但bcrypt不是,并且由于某种原因,不在Bouncy Castle中。 – 2013-02-09 15:52:12

相关问题