Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用带块密码的ISO7816d4Padding_Java_Cryptography_Padding_Bouncycastle_Jca - Fatal编程技术网

在Java中使用带块密码的ISO7816d4Padding

在Java中使用带块密码的ISO7816d4Padding,java,cryptography,padding,bouncycastle,jca,Java,Cryptography,Padding,Bouncycastle,Jca,我正在使用加密应用程序中的BC提供程序。 我想知道是否存在将密码对象(JCA固有的)转换为块密码对象(BC固有的)的方法。这背后的原因是因为我需要ISO7816d4Padding,这在JCA中找不到。当然,您可以通过将分组密码实例化为“/ECB/NoPadding”来使用ECB模式,其中当然是密码的名称。在您的情况下,它可能是“DESede”或“AES”。然后,如果你给它一个8或16字节的块,你将得到一个加密或解密的块返回 但是,在您的情况下,我只会使用: Cipher iso = Cipher

我正在使用加密应用程序中的BC提供程序。
我想知道是否存在将密码对象(JCA固有的)转换为块密码对象(BC固有的)的方法。这背后的原因是因为我需要ISO7816d4Padding,这在JCA中找不到。

当然,您可以通过将分组密码实例化为
“/ECB/NoPadding”
来使用ECB模式,其中
当然是密码的名称。在您的情况下,它可能是
“DESede”
“AES”
。然后,如果你给它一个8或16字节的块,你将得到一个加密或解密的块返回

但是,在您的情况下,我只会使用:

Cipher iso = Cipher.getInstance("DESede/CBC/ISO7816-4Padding");

注册Bouncy Castle提供程序后。

如果您可以简单地使用所需的填充来实例化一些
块密码
,为什么要对其进行转换?@ArtjomB。不需要这样:)