2011-10-12 119 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