2017-05-07 51 views
0

我正在做一個項目,涉及創建一個應用程序來使用AES算法加密數據。在主函數中,我創建了一個像這樣的AES對象;AES對象的密鑰大小

Aes objAes = Aes.Create(); 
byte[] key = objAes.Key; 
byte[] IV = objAes.IV; 

據我瞭解,AES.Create()函數自動生成一個鍵和一個IV。 瞭解AES是一種對稱算法,它使用3種不同的密鑰大小:128位,192位和256位密鑰,在這種情況下,它創建哪種密鑰?我的意思是AES.Create()函數生成的密鑰的大小是多少?謝謝!

回答

3

你幾乎有你的鼻子下的答案!您已有一個來自objAes.Key的密鑰的字節數組。如果我沒有弄錯,它應該有32的長度。所以一個32字節的數組是256位。您也可以檢查objAes.KeySize

+0

感謝您的回答,我真的忘了檢查我是否將密鑰存儲在字節數組中。還有一個讓我困惑的問題是數組部分,因爲數組可以保存多個值,我真的無法確切地知道長度關鍵可能有。看起來默認的密鑰也是32字節,IV是16字節。再次感謝 –