java - BlowFish 解密 - nCFB 模式

标签 java cryptography encryption blowfish

我有一些关于 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/

相关文章:

c# - padding 无效,无法移除?

c# - 哈希算法 SHA256,我的方法安全吗?如何添加盐值以使其更安全

php - 支付宝开发。加密交易。 PHP p12

java - 代码实现相同的两种方法

java - 当我使用Gradle插件编译Java代码时,本地JDK为1.8,但我想将其编译为1.7版。

java - 将 maven 项目导入 netbeans

python - Pyocrypt DES3文件加密,解密缺失部分文本

java - 如何找到完整显示窗口标题的最小宽度

python-3.x - AES-CTR 和 AES-GCM 生成的不同密文

java - 在没有 BouncyCaSTLe 的情况下在 Java 中使用 RSA 加密