【发布时间】:2020-08-29 22:45:29
【问题描述】:
我想在 Java 中使用 KeyPairGenerator 创建公钥和私钥,稍后在 Cipher 中使用“RSA/ECB/PKCS1Padding”对我来说很重要。
读完this answer我应该使用这个公式:
maximum bytes = key length in bits / 8 - 11
现在:
512 Byte = 4096 bit
1024 Byte = 8192 bit
如果我使用 8192/8-11 效果很好,但是当我使用 4096/8-11 时会出现此错误:“无效的密钥大小”。 为什么我不能使用 512Byte?这是 KeyPairGenerator 的限制还是什么?
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(4096/8-11);
【问题讨论】:
-
您的公式显示了您可以根据给定的密钥大小加密多少字节。作为 kpg.initialize 的输入,您只需提供“4096”。
标签: java encryption rsa