【发布时间】:2012-10-12 15:00:17
【问题描述】:
我在将 BlowsfishJ Java 实现 (BlowfishJ Javadoc) 与 dren Blowfish JavaScript 实现 (dren Blowfish page) 关联时遇到了一些问题。
在 Java 方面,我使用的是 Blowfish CBC,IV 为零,密钥是 somekey。明文是WillThisEQ。
在 JavaScript 方面,我认为 dren 的实现也是使用 CBC 和零 IV。密钥是somekey,明文也是WillThisEQ。
这是 JavaScript 代码:
var bf = new Blowfish('some key');
var ciphertext = bf.encrypt('WillThisEQ');
var plaintext = bf.decrypt(ciphertext);
对于密文,前 8 字节匹配两种实现 (WillThis)。但是,任何后续字节都不匹配 (EQ000000)。 IV 被分解为第一个块 (Block Cipher Modes Wikipedia page)。所以,我认为这不是问题所在。
这两种实现如何才能匹配?
非常感谢您的帮助。
【问题讨论】:
标签: java javascript algorithm encryption blowfish