2017-05-07 52 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字节。再次感谢 –