2011-10-12 83 views
4

许多脚本语言(Python/PHP/etc ...)都包含允许您使用Blowfish作为密码单向散列的功能(有时是通过扩展)。我试图为C++找到类似的实现,但我遇到的所有事情都是加密/解密解决方案。C++ Blowfish散列实现

有人可以推荐一个提供相同功能的C++库吗?

+0

也许您应该重新开始。河豚是一种对称密码;你怎么想象它涉及到哈希? –

+0

@Kerrek请将整篇文章考虑在内......查看关于在脚本语言中使用哈希算法的一些信息的第一个答案http://stackoverflow.com/questions/4795385/how-do-you-use-bcrypt -for-hashing-passwords-in-php – Endophage

+0

@KerrekSB,使用对称密码作为密码散列的一部分是很常见的:[OpenBSD允许使用blowfish进行密码散列](http://www.openbsd.org/ cgi-bin/man.cgi?query = crypt&sektion = 3&arch =&apropos = 0&manpath = OpenBSD + Current),[''pam_unix'提供了一个河豚选项](http://manpages.ubuntu.com/manpages/maverick/man8/pam_unix .8.html)。 'crypt(3)'使用修改的DES作为密码散列机制的一部分。 (它已经过修改,因此现有的现成的DES破解程序不能用于暴力破解密码,回想起来似乎很古怪。) – sarnold

回答

6

jbcrypt有一个java版本。在openbsd.orgmicrosoft上有一篇关于bcrypt的论文。您可以在http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/crypt/找到bcrypt的源代码以及更多信息http://www.openwall.com/crypt/

+0

我已经遇到了openwall crypt库。我仍然试图让它超出他们的测试工作......这是行为似乎不完全模仿BCrypt,但也许一旦我得到它的工作,我会发现不同... – Endophage

+1

好吧,欢呼声,得到了开放墙实施工作。他们的文件几乎不存在。只是捅了一会儿。顺便说一下,对于其他人来说,我也已经证实openwall实现与Python的py-bcrypt实现兼容。 – Endophage