我有 24 个相当大的 RSA 加密文件,我想解密它们。我正在使用线程独立解密它们,但我仍然需要太多时间才能获得结果。所以问题是我是否可以在解密一个文件中使用多个线程。
1 回答

浮云间
TA贡献1829条经验 获得超4个赞
首先,RSA不是握手吗?您可能是指AES。
其次,确保您拥有所有 8192 或 16384 或更多字节的缓冲 i/o 流,这只是预防措施。
第三,我认为这不是微不足道的,因为加密设计是一种流或块算法,其后续字节取决于更早的字节。
话虽如此,如果您在加密方面非常胜任并且愿意手动重做所有工作,您可以通过几个线程(可能使用简单的队列和线程 seda 或环和线程中断模式)来管道解密的各个步骤。
解密 AES 文件(或相反)可能需要一些令人尴尬的顺序步骤(借用“令人尴尬的并行”的表达),例如文件的字节加载、块哈希验证、密码更新和解密。
如果你坚持使用多个线程独立处理文件,你可能会很好地使用你的 CPU,但在磁盘上竞争。而且,如果您减少线程以最大程度地减少磁盘争用,那么您就没有充分利用 CPU。因此,重要的是要同时查看磁盘和 cpu 使用情况,以定位正确的瓶颈并将 i/o 的线程数与 cpu 的线程数分离。将您的字节块解密与磁盘加载隔离开来可能是一个很好的第一步。
添加回答
举报
0/150
提交
取消