我正在尝试用AES加密/解密然后我尝试了CBC& ECB模式 我从这三个中得到了相同的加密输出!这是怎么回事? 它可能没有错,但我只是不知道会发生什么。如果它们都生成相同的密码,那么拥有模式有什么意义呢?是时间还是性能复杂?
你能解释AES和它的密码模式之间的区别吗?什么是默认密码模式?或者如果你能给我任何参考资料,那么MSDN还不够清楚
谢谢
答案 0 :(得分:4)
当您加密大于一个块(AES中为128位)的数据时,CBC和ECB模式是使用对称加密算法的方法。因此,如果要加密适合一个块的数据,那么CBC和ECB模式将产生相同的密文(假设您在使用CBC模式时使用的是空IV)。如果您正在加密大小超过一个块的数据,或者您正在使用非空的IV,并且您看到相同数据的CBC和ECB加密相同,那么您在代码中做错了。
这在维基百科条目中得到了很好的解释。
http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation