相关疑难解决方法(0)

RSA块的数据太多失败.什么是PKCS#7?

谈论 javax.crypto.Cipher

我试图使用加密数据,Cipher.getInstance("RSA/None/NoPadding", "BC")但我得到了例外:

ArrayIndexOutOfBoundsException: too much data for RSA block

看起来是与"NoPadding"相关的东西,因此,阅读填充,看起来像CBC是这里使用的最佳方法.

我在google上发现了一些关于"RSA/CBC/PKCS#7"的内容,这是什么"PKCS#7"?为什么它没有列在太阳的标准算法名称上

更新:

我想知道,如果是填充问题,为什么这个例子运行得很好?

import java.math.BigInteger;
import java.security.KeyFactory;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.RSAPrivateKeySpec;
import java.security.spec.RSAPublicKeySpec;

import javax.crypto.Cipher;

/**
 * Basic RSA example.
 */
public class BaseRSAExample
{
    public static void main(
        String[]    args)
        throws Exception
    {
        byte[]           input = new byte[] { (byte)0xbe, (byte)0xef };
        Cipher          cipher = Cipher.getInstance("RSA/None/NoPadding", "BC");
        KeyFactory       keyFactory = KeyFactory.getInstance("RSA", "BC");

        // create the keys

        RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec( …
Run Code Online (Sandbox Code Playgroud)

java security cryptography

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

cryptography ×1

java ×1

security ×1