用java C++加密CryptoAPI SIMPLEBLOB
以下是我的流程:
CryptoAPI:
- 生成AES会话密钥
- 使用收件人的公钥在SIMPLEBLOB中加密和导出(1) 使用RSA
- 将SIMPLEBLOB发送给收件人
爪哇:
- 收件人收到(3)
- 收件人希望使用其私钥解密SIMPLEBLOB
我相信这是相当标准的。需要对接收到的字节数组进行字节反转(从上面的步骤4开始)。但是,由于某些原因,接收的字节数高于RSA算法可以解密的最大允许字节数。错误为“javax.crypto.IllegalBlockSizeException:数据长度不得超过256字节”。所以还有一些事情我不明白。有人能解释一下如何在Java中正确解密SIMPLEBLOB吗?资源将有所帮助
# 1 楼答案
看看这个页面:SIMPLEBLOB structure blob的前12个字节属于BLOBHEADER。要解密密钥,请从加密blob的第12个位置开始