2012-02-19 53 views
0

看來,理解什麼bcrypt是所有關於不清楚的一些人,以及對我來說,因爲我仍然不斷閱讀SOF用戶的問題。我在這裏有一個關於如何使用bcrypt散列的例子:How do you use bcrypt for hashing passwords in PHP想驗證如何使用bcrypt

據我所知,bcrypt是單向字符串,如果是這樣,這意味着我可以使用它僅用於散列。有一些文章提到bcrypt也用於加密,這對我來說是沒有意義的,那是因爲如果我可以加密字符串,這意味着我可以解密它。

問題是如果bcrypt可以用來加密的話,那怎麼樣?任何人都可以舉例嗎?

謝謝,

回答

2

bcrypt散列函數/ KDF是唯一的散列。

blowfish,其中bcrypt所基於的是分組密碼,即其用於加密。

還有一個不相關的程序叫做bcrypt,它使用基於河豚的加密。

不幸的是,很多人可以互換使用bcryptblowfish,這會導致混淆。

+0

非常感謝您的澄清。所以在我以前的文章中的鏈接是使用bcrypt進行哈希處理。而blowfish是一個基於bcrypt的函數。好的,很高興知道。在這種情況下,如果我想加密信息,我必須使用河豚來做到這一點。 – 2012-02-19 13:27:48

+0

@Fxdigi這是相反的方式。 'bcrypt'哈希以'blowfish'爲基礎。對於加密你可以使用河豚,但我更喜歡AES。 – CodesInChaos 2012-02-19 13:28:32

1

bcrypt()在PHP是單向散列函數,所以將不適合於雙向加密/解密。

但是有一些軟件包可用,稱爲bcrypt,它不是PHP函數,它只是允許雙向(加密和解密)的blowfish密碼的實現。

所以bcrypt可以做解密然而bcrypt()不能

+0

謝謝約翰,很高興知道。我猜[phpass]與bcrypt和一些例子(http://www.openwall.com/phpass/)有關,但我很困惑,因爲許多人對不同的用途使用相同的術語。再次感謝信息 – 2012-02-19 13:33:06