2011-10-09 64 views
1

我使用MessageDigest來計算我的項目中的md5簽名,但在性能測試期間它會拋出ArrayIndexOutOfBoundsExceptionMessageDigest ArrayIndexOutOfBoundsException

我發現一些帖子暗示這是因爲MessageDigest是單身人士,而不是線程安全的。有誰知道我能如何解決這個問題,或者如果有一個線程安全的等效MessageDigest類?

+1

我們需要查看一些代碼才能夠幫助您。 – Mysticial

回答

9

有人說,這是東陽消息摘要是單

這將是 MessageDigest對象。不是課程本身。 MessageDigest.getInstance()總是返回一個新的實例:參見Javadoc。

而不是線程保存。

線程安全。現在

,任何人都知道如何解決這個問題

不要共用多個線程之間的消息摘要的實例。甚至不要讓它成爲類成員,使它成爲調用它的方法中的局部變量。

+2

...線程安全。 – emboss

+0

@emboss這兩種形式都用在Javadoc中。 – EJP