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?
Java 的 UnsupportedOperationException 的 Python 等价物是啥?