DES加密稱爲「單向加密」還是「雙向加密」? 是否有PHP類或方法解密DES加密? 謝謝DES加密
DES加密
回答
的PHP crypt功能是單向散列函數,如果你希望能夠解密,看看在mcrypt支持的擴展a range of algorithms
DES可以顛倒,所以它是一個雙向加密(如果你的意思是這樣)。
DES是一個非常有名的加密標準,所以它也應該可以在PHP中使用。
我不熟悉「單向加密」或「雙向加密」的術語。有一個術語「一次性密碼」(與DES完全無關),並且存在「對稱」和「不對稱」加密算法,這意味着相同的密鑰是用於加密和解密(對稱)還是一組兩個不同的密鑰用於加密,另一個用於解密(不對稱)。 DES是一種對稱算法。至於PHP,隱窩(),因爲在做這項工作:
單向加密被的安全形式散列:明文被改變成數據的一個明顯隨機序列,往往是固定長度的,在原來的明文(理論上)不能檢索這樣的方式沒有蠻力的努力。
雙向加密,或可逆加密就是我們通常用術語的意思是加密:明文轉化爲明顯的隨機數據,但依賴於一個「鑰匙」的方式,讓要檢索的原始明文。
DES是一種可逆加密的形式,由於它依賴於56位密鑰(14個十六進制字符),所以在當今標準下相對較弱。它已經被3DES或triple-DES所取代,它實質上與更長的密鑰具有相同的算法。
你不提你的應用程序,但如果你只需要比較的數據,而不是檢索它,散列被認爲是更安全的。例如,您可以存儲散列的密碼;然後,當用戶進行身份驗證時,對輸入的文本執行相同的散列並將其與存儲的散列值進行比較。如果它們匹配,則輸入正確的密碼。
哈希的一個顯着優點是您不需要存儲解密密鑰。
我想你可能是指單向函數[1]。在密碼學中,區分對稱密碼和非對稱密碼。對稱密碼術使用相同的密鑰進行加密和解密(DES是對稱的)。非對稱加密用於密鑰交換,公鑰用於加密消息,而私鑰用於解密。非對稱密碼學的一個例子是AES [2]。不對稱加密使用單向函數。
[1] http://en.wikipedia.org/wiki/One-way_function [2] http://en.wikipedia.org/wiki/AES
你錯約AES。這是一個基於對稱密鑰的算法。你的答案的其餘部分也是不精確的。 – 2008-12-29 15:58:56
- 1. DES加密密鑰
- 2. Python DES加密
- 3. DES與urlENcode加密(加密)
- 4. 加密: 「DES」 與 「PBKDF2WithHmacSHA1」
- 5. DES加密在C#
- 6. C#DES ECB加密
- 7. DES ECB C#加密/解密
- 8. python加密:DES CTR解密
- 9. DES-ECB加密和解密
- 10. VB.Net DES加密功能,三重DES
- 11. DES加密:文件加密後更大
- 12. DES加密android系統
- 13. C#DES加密示例
- 14. 內核項目DES加密
- 15. 目標c DES加密
- 16. 加密數據與DES - JAVA
- 17. DES加密和解密在PHP
- 18. DES加密明文與密碼長度
- 19. 使用DES和密碼進行加密
- 20. JAVA - 解密「DES」加密的隨機數
- 21. DES從文件中加密/解密
- 22. crypto-js在CBC模式下的DES(或三重DES)加密
- 23. 是否可以使用DES中的DES算法加密和解密zip文件
- 24. 加密和解密128位純文本塊的C#簡體DES(S-DES)
- 25. 這是一個已知的DES密碼嗎? DES密碼是什麼? DES-CTR?
- 26. 使用System.Security.Cryptography使用DES類c加密#
- 27. OpenSSL EVP AES/DES加密實現
- 28. 使用64位DES與openssl加密
- 29. Oracle和.NET中的不同DES加密
- 30. Java和PHP中的DES加密
隱窩是一個單向散列函數 – 2008-11-02 16:29:00