我们的生产环境(TCL)正在使用blowfish加密在数据库中存储一些数据,我正在尝试使用Java进行测试自动化。
我没有得到相同结果的加密/解密,我怀疑TCL中Blowfish的标准设置与Java不同。现在任何人都可以在TCL中使用Blowfish的默认设置,这样我就可以在Java中重现相同的代码了吗?
我在TCL中表现不佳,但这是执行加密的代码
return [blowfish encrypt -hex $CFG(secretkey) -bin $data]
谢谢, 斯蒂芬
答案 0 :(得分:2)
这是来自Tcllib的河豚代码吗?如果是这样,那么它的确切记录是on the manual page。简而言之,在初始化密码时,您确实应该指定模式(ECB或CBC)和初始化向量;尝试指定它并查看它是否给出相同的结果。如果是这样,您就可以从另一方获得复制所需的设置。
此外,从该页面开始:
-mode 和 -dir 选项是可选的,默认分别为cbc模式和加密。初始化向量 -iv 采用8字节二进制参数,默认为8个零。有关可用模式及其用途的更多信息,请参阅MODES OF OPERATION。