C#密碼生成密鑰
回答
如果您在System.Security.Cryptography
名稱空間中使用加密類,請使用Rfc2898DeriveBytes
類(@CodeInChaos指出它取代PasswordDeriveBytes
)從密碼派生密鑰。
如果一個隨機密鑰是OK,則SymmetricAlgorithm
類具有GenerateKey
方法。
我喜歡'Rfc2898DeriveBytes' http://msdn.microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes.aspx – CodesInChaos 2011-12-21 10:38:59
@CodeInChaos,什麼是TL; DR版本爲什麼你會選擇一個在另一方面? – shambulator 2011-12-21 11:14:07
'Rfc2898DeriveBytes'是PBKDF2,'PasswordDeriveBytes'是PBKDF1。我簡單地假設2比1好。 – CodesInChaos 2011-12-21 11:36:45
這取決於你處理的關鍵。
如果您自動生成密鑰,只需通過密鑰交換方法在某個通道上交換密鑰,那麼您應該使用一些強大的隨機數生成器(如RNGCryptoServiceProvider
)生成密鑰。事實上,.NET中的大多數Cipher自動生成一個隨機密鑰。
如果你想有某種用戶輸入的密碼,那麼我建議你使用Rfc2898DeriveBytes
類。還有關於Rfc2898DeriveBytes
的.NET Security blog教程。
- 1. 僅基於密碼生成AES密鑰
- 2. 生成密鑰
- 3. 密鑰生成
- 4. 加密密鑰生成
- 5. RijndaelManaged密鑰生成
- 6. CryptoJS密鑰生成
- 7. 從RSA編碼的AES密鑰生成AES密鑰
- 8. 如何使用用密碼加密的私鑰生成RSA密鑰對?
- 9. 密鑰組合的Ascii代碼生成
- 10. Rails加密:danpal/attr_encryptor密鑰生成
- 11. AES加密 - 密鑰生成與OpenSSL的
- 12. 密鑰生成AES加密symbian
- 13. C# - 在SortedList中自動生成密鑰
- 14. NGit/Nsch生成SSH密鑰對(c#Jgit)
- 15. 在C中生成私有RSA密鑰#
- 16. 如何調整iOS密鑰派生迭代密鑰生成?
- 17. 從共享密鑰(ECDH-ES)生成派生密鑰 - ConcatKDF
- 18. 在gradle中生成密鑰
- 19. 生成產品密鑰
- 20. 生成唯一的密鑰
- 21. 哈希表密鑰生成
- 22. 多個密鑰生成
- 23. 唯一密鑰生成
- 24. 密鑰生成方法?
- 25. 生成解鎖密鑰
- 26. 生成密鑰使用vb.net
- 27. 爲ConfigurationProperty密鑰生成ID?
- 28. RSA算法密鑰生成
- 29. AS3 Php密鑰生成器
- 30. 隨機密鑰生成
如此簡單,你可以問用戶通過階段 – 2011-12-21 10:01:10
? – Jonny 2011-12-21 10:02:14
我會這麼說。 – 2011-12-21 10:10:01