11 java multithreading cryptography
在java中,我们需要为太多的文本数据生成HmacSHA1/256消息摘要,当然还需要并行生成.
现在问题是,javax.crypto.Mac#doFinal(byte[]:arg)通过sun/oracle(hotspot)实现SPI 是线程安全还是更好?
所有的盐密钥是相同的,我正在考虑准备一个Macobj,所有线程都会调用它来生成消息摘要.
我无法理解并用javadoc说明它.
如果这个人不是线程安全的,那么有没有相应的(可能来自Apache,......)?
谢谢.
Aug*_*sto 14
这些javax.crypto.Mac#doFinal方法都不是线程安全的,因为它们会改变MAC的内部状态.
这在任何时候都是有意义的,就像之前所有MAC的sum/xor一样,所以它不能并行完成.据我所知,没有MAC算法可以并行工作(与某些加密算法相反).
如上所述,Mac是可克隆的,所以如果你有一个用盐准备的实例,你可以克隆它并使用克隆来计算MAC(我会测试这个!)
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |