Merge "Prevent multi-threaded access to digest object" into nyc-dev
am: 92cfb7f
* commit '92cfb7fc27455a487a93675aa0154bfd5b689096':
Prevent multi-threaded access to digest object
This commit is contained in:
@@ -44,6 +44,7 @@ final public class Log {
|
||||
public static final boolean ERROR = isLoggable(android.util.Log.ERROR);
|
||||
|
||||
private static MessageDigest sMessageDigest;
|
||||
private static final Object sMessageDigestLock = new Object();
|
||||
|
||||
private Log() {}
|
||||
|
||||
@@ -57,7 +58,9 @@ final public class Log {
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
md = null;
|
||||
}
|
||||
sMessageDigest = md;
|
||||
synchronized (sMessageDigestLock) {
|
||||
sMessageDigest = md;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}.execute();
|
||||
@@ -187,13 +190,15 @@ final public class Log {
|
||||
}
|
||||
|
||||
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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user