public static final boolean ERROR = isLoggable(android.util.Log.ERROR);
private static MessageDigest sMessageDigest;
+ private static final Object sMessageDigestLock = new Object();
private Log() {}
} catch (NoSuchAlgorithmException e) {
md = null;
}
- sMessageDigest = md;
+ synchronized (sMessageDigestLock) {
+ sMessageDigest = md;
+ }
return null;
}
}.execute();
}
private static String secureHash(byte[] input) {
- if (sMessageDigest != null) {
- sMessageDigest.reset();
- sMessageDigest.update(input);
- byte[] result = sMessageDigest.digest();
- return encodeHex(result);
- } else {
- return "Uninitialized SHA1";
+ synchronized (sMessageDigestLock) {
+ if (sMessageDigest != null) {
+ sMessageDigest.reset();
+ sMessageDigest.update(input);
+ byte[] result = sMessageDigest.digest();
+ return encodeHex(result);
+ } else {
+ return "Uninitialized SHA1";
+ }
}
}