我正在寻找一种简单的非专利单向加密算法,最好是在c。 我想用它来验证密码。
答案 0 :(得分:13)
SHA-1 and the rest of its family获得了美国政府的专利,该政府“已根据免版税许可证发布了专利”。许多公共领域实施may be found through Google。 :-)
答案 1 :(得分:3)
“单向加密算法”的正确名称是“散列算法”(你的意思是“加密”密码,以便永远无法恢复,对吧?)
不要在现代应用程序中使用md5,自2004年以来已经成功地对它进行了攻击(参见http://www.doxpara.com/md5_someday.pdf的参考资料)。使用SHA系列。
答案 2 :(得分:2)
答案 3 :(得分:1)
只需使用crypt(3)函数
答案 4 :(得分:1)
SHA-1似乎是一个很好的建议,或者,如果您认为SHA-1即将被破解,那么SHA-2系列就是其中之一。
你可能觉得MD5不够“安全”。
答案 5 :(得分:0)
答案 6 :(得分:0)
MD5和SHA512(或其他SHA-2变体)都存在识别出的理论漏洞。我认为SHA还没有被证明是破碎的,但存在可能性。 Whirlpool是一种免版税的哈希算法,它(尚未显示)任何弱点。 This page有一个指向C参考实现的链接。
答案 7 :(得分:-2)
为什么MD5或SHA1不适合您?
/阿伦