mcrypt“ncfb”模式的Java等价物是啥?

Posted

技术标签:

【中文标题】mcrypt“ncfb”模式的Java等价物是啥?【英文标题】:What is the Java equivalent of mcrypt "ncfb" mode?mcrypt“ncfb”模式的Java等价物是什么? 【发布时间】:2015-06-22 15:09:33 【问题描述】:

我正在尝试将一些代码从 php 移植到 java,这行给我带来了麻烦:

$decrypted = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $encrypted, "ncfb", $iv);

查看有关密码的 javadocs 没有列出“ncfb”,是否列出了 ncfb 变相的其他模式之一?

【问题讨论】:

我猜模式(ncfb、cfb等)不影响结果。 Sun JCE 不提供 Blowfish,因此没有同等功能。 【参考方案1】:

来自this answer:

请注意,文档其余部分中的 CFB 和 OFB 表示“8bit CFB 或 OFB”模式。 nOFB和nCFB模式表示n位的OFB/CFB模式,n用于表示算法的块大小。

nCFB:密码反馈模式(以 nbit 为单位)。 n 是算法块的大小。这是从分组密码实现的自同步流密码。此模式在流中运行。

基于this doc,Java 中有以下可用于 Blowfish 的模式 (nCFB):

CFB8..CFB64

所以答案是:是的,有伪装成 nCFB 的模式。

【讨论】:

以上是关于mcrypt“ncfb”模式的Java等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

PHP:OpenSSL 等价于 mcrypt:MCRYPT_3DES?

PostgreSQL '模式'的 MySQL 等价物是啥?

Python 等价于 PHP Mcrypt

Java 的 UnsupportedOperationException 的 Python 等价物是啥?

Java 8:“UseSplitVerifier”的等价物是啥?

Java 的 String[] 的 Kotlin 等价物是啥?