2013-03-19 59 views
0

有些人可以在我的網站上註冊自己。對於密碼,我用這個:C中的Blowfish php?

$key = "thisisasuperkey"; 
$key_crypted = md5($key); 
$pass = "thisisasuperpassword"; 
$pass_crypted = crypt($pass, '$2y$12$'.$key_crypted.'$'); 

此代碼返回我喜歡的東西:

$2y$12$19ac9c3924183ab897f61uJr.j9b5cQ8NZS3rqMlNNUft9rEmtT5m 

但現在,我在建C/C程序++。我希望用戶在程序中輸入他們的用戶名和密碼。

我測試了一些「榜樣」的互聯網上,但所有的「河豚C」正在迴歸這樣的事情:

d00a0a19e5d7155ae6ac6e..........ce1072f5 

是否有人有一個想法,我可以找到在C/C相同的河豚++(或在PHP中相同)?

+1

PHP源代碼如何? – DaveRandom 2013-03-19 14:43:57

+0

PHP代碼接縫對我很好(我試圖運行它,它給了我相同的結果),我認爲他的問題與他無法從PHP獲得相同結果的事實相關聯到C++ – Jsncrdnl 2013-03-19 14:51:04

+0

@ jsn.crdnl對。 PHP又寫了什麼語言? ;-) – DaveRandom 2013-03-19 14:54:24

回答

0

crypt(3)是一個顯示在glibc中的函數。也就是說,基於加密/基於blowfish的crypt實現(由字符串$2a$$2x$$2y$標識)未包含在主線實現中。一些linux/BSD發行版通過補丁增加了支持,所以這對你來說可能已經足夠了。

如果不是,您可以查看the source code的OpenBSD的crypt實現,其中將包括對bcrypt散列的支持。你可以使用該代碼來做你想做的事,而不會有太多的麻煩。

+0

謝謝你的答案,但我發現我的幸福來自DaveRandom消息的PHP源代碼。 非常感謝。 – 2013-03-20 15:14:40