我有一些关于BlowFish加密的问题。我正在开发一个部署在weblogic下的Java portlet。我从互联网USB设备收到一个用BlowFish加密的字符串 - nCFB模式,我需要从中获取原始字符串。我实现了blowfish解密,但我不知道如何使用nCFB模式解密。这是互联网上很少的文档,但我能够找到一个工具: http://www.tools4noobs.com/online_tools/decrypt/
提供我的输入字符串和密码,它会检索结果。但是在java上我无法做到
Cipher cipher = Cipher.getInstance("Blowfish/NCFB/NoPadding");
因为NCFB无法识别。我用
完成了我的实现Cipher cipher = Cipher.getInstance("Blowfish/CFB/NoPadding");
但它只解码前3个字符。如何使用NCFB模式而不是CFB解密?
我能够在http://mcrypt.hellug.gr/lib/mcrypt.3.html找到关于nCFB的一些东西,但它属于mcrypt php库。
是否有java API能够执行此操作?或者我如何让CFB模式作为NCFB工作?
祝你好运
答案 0 :(得分:2)
CFB(Cypher反馈)模式在解密时反馈部分或全部密文。 nCFB中的“n”告诉您要反馈多少。默认为整个块。您需要阅读文档以了解用于加密的n的值,以及如何将该参数添加到解密算法中。鉴于前三个字符正确解密,可能是n为24位,但我不确定。
正常情况下,CTR模式比CFB麻烦少。