为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在Java中用RSA同时解密一个大的加密文件?

有没有办法在Java中用RSA同时解密一个大的加密文件?

红颜莎娜 2022-07-14 10:40:06
我有 24 个相当大的 RSA 加密文件,我想解密它们。我正在使用线程独立解密它们,但我仍然需要太多时间才能获得结果。所以问题是我是否可以在解密一个文件中使用多个线程。
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

首先,RSA不是握手吗?您可能是指AES。

其次,确保您拥有所有 8192 或 16384 或更多字节的缓冲 i/o 流,这只是预防措施。

第三,我认为这不是微不足道的,因为加密设计是一种流或块算法,其后续字节取决于更早的字节。

话虽如此,如果您在加密方面非常胜任并且愿意手动重做所有工作,您可以通过几个线程(可能使用简单的队列和线程 seda 或环和线程中断模式)来管道解密的各个步骤。

解密 AES 文件(或相反)可能需要一些令人尴尬的顺序步骤(借用“令人尴尬的并行”的表达),例如文件的字节加载、块哈希验证、密码更新和解密。

如果你坚持使用多个线程独立处理文件,你可能会很好地使用你的 CPU,但在磁盘上竞争。而且,如果您减少线程以最大程度地减少磁盘争用,那么您就没有充分利用 CPU。因此,重要的是要同时查看磁盘和 cpu 使用情况,以定位正确的瓶颈并将 i/o 的线程数与 cpu 的线程数分离。将您的字节块解密与磁盘加载隔离开来可能是一个很好的第一步。


查看完整回答
反对 回复 2022-07-14
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号