2008-11-02 77 views
0

DES加密稱爲「單向加密」還是「雙向加密」? 是否有PHP類或方法解密DES加密? 謝謝DES加密

回答

2

DES可以顛倒,所以它是一個雙向加密(如果你的意思是這樣)。

DES是一個非常有名的加密標準,所以它也應該可以在PHP中使用。

-1

我不熟悉「單向加密」或「雙向加密」的術語。有一個術語「一次性密碼」(與DES完全無關),並且存在「對稱」和「不對稱」加密算法,這意味着相同的密鑰是用於加密和解密(對稱)還是一組兩個不同的密鑰用於加密,另一個用於解密(不對稱)。 DES是一種對稱算法。至於PHP,隱窩(),因爲在做這項工作:

http://us2.php.net/crypt

+0

隱窩是一個單向散列函數 – 2008-11-02 16:29:00

3

應該注意的是,有關於DES算法的問題(並且一直存在)。它已經被廣泛使用了很長一段時間,但由於它最初僅用56位密鑰指定,所以在這一點上它是否足夠安全以用於任何重要用途是值得懷疑的。三重DES通常更好,但有一些已知的理論攻擊。如果你有密碼選擇,你可能想看看AES

2

單向加密被的安全形式散列:明文被改變成數據的一個明顯隨機序列,往往是固定長度的,在原來的明文(理論上)不能檢索這樣的方式沒有蠻力的努力。

雙向加密,或可逆加密就是我們通常用術語的意思是加密:明文轉化爲明顯的隨機數據,但依賴於一個「鑰匙」的方式,讓要檢索的原始明文。

DES是一種可逆加密的形式,由於它依賴於56位密鑰(14個十六進制字符),所以在當今標準下相對較弱。它已經被3DES或triple-DES所取代,它實質上與更長的密鑰具有相同的算法。

你不提你的應用程序,但如果你只需要比較的數據,而不是檢索它,散列被認爲是更安全的。例如,您可以存儲散列的密碼;然後,當用戶進行身份驗證時,對輸入的文本執行相同的散列並將其與存儲的散列值進行比較。如果它們匹配,則輸入正確的密碼。

哈希的一個顯着優點是您不需要存儲解密密鑰。

-1

我想你可能是指單向函數[1]。在密碼學中,區分對稱密碼和非對稱密碼。對稱密碼術使用相同的密鑰進行加密和解密(DES是對稱的)。非對稱加密用於密鑰交換,公鑰用於加密消息,而私鑰用於解密。非對稱密碼學的一個例子是AES [2]。不對稱加密使用單向函數。

[1] http://en.wikipedia.org/wiki/One-way_function [2] http://en.wikipedia.org/wiki/AES

+0

你錯約AES。這是一個基於對稱密鑰的算法。你的答案的其餘部分也是不精確的。 – 2008-12-29 15:58:56