MessageDigest ArrayIndexOutOfBoundsException

Wen*_*.Wu 2 java md5 indexoutofboundsexception

MessageDigest用来计算我的项目中的md5签名,但在性能测试期间它会抛出一个ArrayIndexOutOfBoundsException.

我发现一些帖子表明这是因为MessageDigest是一个单例而不是线程安全的.有谁知道如何解决这个问题,或者是否有一个MessageDigest线程安全的等效类?

use*_*421 13

有人说这是因为MessageDigest是单身人士

那将是你的 MessageDigest对象.不是班级本身.MessageDigest.getInstance()始终返回一个新实例:请参阅Javadoc.

而不是线程保存.

线程安全.

现在,任何人都知道如何解决这个问题

不要在多个线程之间共享MessageDigest实例.甚至不要使它成为类成员,使其成为调用它的方法中的局部变量.