gpt4 book ai didi

javax.crypto.IllegalBlockSizeException异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:21:18 27 4
gpt4 key购买 nike

javax.crypto.IllegalBlockSizeException:数据不得超过 53 个字节我知道这是因为 RSA 算法只能加密具有 RSA key 长度的最大字节长度的数据,以位除以 8 减 11 填充字节,即最大字节数 = 以位为单位的 key 长度/8 - 11。

我这里使用的是 512 位 key 大小,所以它不允许超过 53 位。但是我需要维护 512 位 key ,但加密超过 53 字节是否有任何可能。

最佳答案

是也不是。您不能使用 RSA 加密,但您可以使用以下方法之一:

  1. 使用对称算法加密并传递使用 RSA 加密的 key 的常用方法。例如,使用公钥 PK 将数据 D 发送给另一个人:

    1. 发送Ek(D)(用 key K用对称算法加密的D)
    2. 同时发送 Epk(K)(使用 PK 的 RSA 算法加密的 K)

    对方开PK(K)得到K,开K(D)得到D。

  2. 将数据分成小块并分别加密。

第一种方法要好得多,主要原因有两个:

  1. 您不会弄乱数据(加密本身除外)。
  2. 对称加密/解密比公开加密快得多,例如RC4是对数据进行简单的异或,而RSA则使用了很大的幂。

(3.PGP如此普遍一定是有原因的……)

关于javax.crypto.IllegalBlockSizeException异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938611/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com