我有一些有关BlowFish加密的问题。我正在使用Weblogic下部署的Java开发portlet。我从互联网USB设备收到用BlowFish-nCFB模式加密的字符串,我需要从中获取原始字符串。我实现了河豚解密,但是我不知道如何使用nCFB模式解密。互联网上的文档很少,但是我能够在以下位置找到执行此操作的工具:
http://www.tools4noobs.com/online_tools/decrypt/

输入我的输入字符串和密码,它将检索结果。但是在Java上我做不到

Cipher cipher = Cipher.getInstance("Blowfish/NCFB/NoPadding");


因为无法识别NCFB。我做了我的实施

Cipher cipher = Cipher.getInstance("Blowfish/CFB/NoPadding");


但是它仅解码前三个字符。如何使用NCFB模式而不是CFB进行解密?

我可以在http://mcrypt.hellug.gr/lib/mcrypt.3.html处找到有关nCFB的一些信息,但它属于mcrypt php库。

是否有Java API能够做到这一点?或者我如何使CFB模式作为NCFB工作?

最好的祝福

最佳答案

解密时,CFB(密码反馈)模式反馈部分或全部密码文本。 nCFB中的“ n”告诉您要反馈多少。默认值为整个块。您将需要阅读文档,以找出用于加密的n值是什么,以及如何将该参数添加到解密算法中。鉴于前三个字符正确解密,可能是n为24位,尽管我不确定。

通常,CTR模式比CFB麻烦小。

10-04 14:52