Java / JCE:解密用RSA加密的“长”消息
作者:互联网
我有一个包含在byte []中的消息,用“RSA / ECB / PKCS1Padding”加密.为了解密它,我创建了一个Cipher c并启动它
c = Cipher.getInstance("RSA/ECB/PKCS1Padding");
直到现在我只使用doFinal()方法解密小消息,返回带有解密字节的byte [].
c.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptetBytes = c.doFinal(encryptedBytes);
但在这种情况下,数据更大(大约500字节),并且doFinal() – 方法抛出异常(javax.crypto.IllegalBlockSizeException:数据不得超过128个字节).我想我需要使用update() – 方法,但我无法弄清楚如何让它正常工作.这是怎么做到的?
解决方法:
我认为使用RSA加密除了密钥传输之外的任何东西都是滥用.
为对称密码生成新密钥,并使用该密钥加密批量数据.然后使用RSA加密密钥.将对称加密的密文与非对称加密的内容加密密钥一起发送给收件人.
标签:jce,java,encryption,rsa 来源: https://codeday.me/bug/20190928/1829225.html