我有一些关于 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");
但它只解码前 3 个字符。如何使用 NCFB 模式而不是 CFB 进行解密?
我在 http://mcrypt.hellug.gr/lib/mcrypt.3.html 找到了一些关于 nCFB 的信息,但它属于 mcrypt php 库。
有没有java API可以做到这一点?或者我怎样才能让 CFB 模式像 NCFB 一样工作?
致以诚挚的问候
最佳答案
CFB(Cypher Feed Back)模式在解密时反馈部分或全部密文。 nCFB 中的“n”告诉您要反馈多少。默认是整个 block 。您需要阅读文档以了解用于加密的 n 值,以及如何将该参数添加到解密算法中。鉴于前三个字符解密正确,n 可能是 24 位,尽管我不确定。
通常CTR模式比CFB更麻烦。
关于java - BlowFish 解密 - nCFB 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12861325/