1

我正在寻找一种简单的非专利单向加密算法,最好是在 c 中。我想用它来验证密码。

4

7 回答 7

13

SHA-1 及其家族的其他产品 已获得美国政府的专利,美国政府“已根据免版税许可发布了该专利”。许多公共领域的实现可以通过 Google 找到:-)

于 2008-09-16T05:42:11.370 回答
3

“单向加密算法”的正确名称是“散列算法”(您的意思是一种“加密”密码的方法,以便永远无法恢复,对吧?)

不要在现代应用程序中使用 md5,自 2004 年以来已经出现了对它的成功攻击(参见http://www.doxpara.com/md5_someday.pdf以获取参考)。使用 SHA 系列。

于 2008-09-16T08:21:13.560 回答
2

In fact using a hash is not enought. you should use a salt to limit them and a more advanced technique such as bcrypt limits the possibilities of guessing the password

于 2011-11-19T19:18:27.797 回答
1

只需使用 crypt(3) 函数

这是背景

于 2008-09-16T05:41:13.790 回答
1

SHA-1 似乎是一个不错的建议,或者,如果您认为 SHA-1 即将被破解,则可以选择 SHA-2 系列之一。

您可能会觉得 MD5 不够“安全”。

于 2008-09-16T05:46:50.327 回答
0

到目前为止,MD5 非常适合我。

于 2008-09-16T05:41:25.397 回答
0

MD5 和 SHA512(或其他 SHA-2 变体)都在其中发现了理论上的漏洞。我认为 SHA 尚未被证明已损坏,但存在这种可能性。Whirlpool 是一种免版税的哈希算法,(到目前为止)还没有显示出任何弱点。 此页面有指向 C 参考实现的链接。

于 2008-10-30T13:06:39.690 回答