2014-03-19 123 views
2

我想在存儲之前加密一些數據。我有點困惑,我如何確保我有256位加密。要獲得AES-256加密,我只是提供一個256位密鑰?

例如,如果我使用AesCryptoServiceProvider例如,我是否只需提供正確長度的密鑰?或者我需要設置KeySizeLegalKeySizes屬性?

+1

尋找反射器,你應該能夠提供一個32字節的密鑰,但我希望有人可以在MSDN上找到一個參考。 – Rawling

+0

這是謙虛的高度來回答評論。 – David

回答

1

您將KeySize等於其中一個LegalKeySizes。如果您嘗試使用非法大小的密鑰進行設置,則Key屬性會引發異常。當您想要在運行時更改密鑰大小時,我認爲KeySize setter是有用的。否則,唯一的Key屬性就足夠了。

+0

我想我無法在這裏驗證任何答案。我該如何判斷我的數據是否用正確的256鍵和算法進行了加密?所以我會用我當然有限的水平來標記你。 – David

+0

謝謝,但如果你的數據用256個密鑰加密會出現什麼問題?設置KeySize = KeySize [256bit的值],設置Key = your_265_key,一切都應該正常工作。或者我錯過了什麼? – lavrik

+0

或者如果你想知道什麼密鑰大小用於具有唯一密文的給定密文,那麼我認爲這是不可能的。 – lavrik

1

您應該提供一個密鑰(32字節)和IV(16字節)。 KeySize自動設置。