给定值:应该加密密钥以进行加密的参数
算法@>Net 1.1 C#:
使用了上面的Alogorithm @Java7 7。在欧洲央行加密模式下,它正在抛出一个错误,但是它在CBC模式下工作得很好。
结果:.Net和Java的输出是snyc的。
问题: java.security.InvalidAlgorithmParameterException:ECB模式不能使用IV
发布于 2015-02-12 07:45:13
ECB不支持IV,因此在Java中不应该使用带有第三个参数的Cipher.init方法。有些库允许为欧洲央行插入一个IV值(特别是PHP的mcrypt包装器和明显的.NET),但是在这些情况下,IV只是被忽略了。幸运的是,我还没有看到一个只在欧洲央行加密期间第一个区块使用IV的实现。
如果使用CBC模式--欧洲央行不安全--那么零IV意味着第一个块将与欧洲央行模式(直接AES加密)相同。这意味着使用相同密钥的多个加密也不安全。CBC需要一个随机的IV值。
https://stackoverflow.com/questions/28470188
复制相似问题