【发布时间】:2023-03-23 11:26:01
【问题描述】:
我尝试使用 AES 加密/解密,然后我尝试了 CBC 和 ECB 模式
我从这三个中得到了相同的加密输出!事情是这样的吗?
这可能没有错,但我只是不知道会发生什么。如果它们都产生相同的密码,那么拥有模式有什么意义?是时间复杂度还是性能复杂度?
你能解释一下 AES 和它的密码模式之间的区别吗?什么是默认密码模式?或者如果你可以给我任何参考因为 MSDN 不够清楚
谢谢
【问题讨论】:
-
您的输入是否比密码的块长度长?因为这些模式控制如何对超过一个块的输入进行加密(请参阅en.wikipedia.org/wiki/Block_cipher_modes_of_operation)。只有一个方块,不同的模式可以给出相同的结果(当然取决于 IV)
-
@Grizzly 我正在尝试像我的名字这样的东西 :) 没有足够长的时间来看到我猜的差异。谢谢
-
也谢谢你@BenRobinson
-
@katia:请注意,您不应为 CBC 使用零(或其他固定)初始化向量,而应使用随机向量。永远不要使用 ECB,直到你明白为什么不应该使用它。
标签: c# encryption cryptography encryption-symmetric aescryptoserviceprovider