You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/09/09 10:46:51 UTC
svn commit: r1623693 -
/tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java
Author: markt
Date: Tue Sep 9 08:46:51 2014
New Revision: 1623693
URL: http://svn.apache.org/r1623693
Log:
Add SHA-1 support
Add support for input consisting of multiply byte arrays
(both changes are prep for switching WebSocket to use this utility class)
Modified:
tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java?rev=1623693&r1=1623692&r2=1623693&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java Tue Sep 9 08:46:51 2014
@@ -31,6 +31,7 @@ import java.util.concurrent.ConcurrentLi
public class ConcurrentMessageDigest {
private static final String MD5 = "MD5";
+ private static final String SHA1 = "SHA-1";
private static final Map<String,Queue<MessageDigest>> queues =
new HashMap<>();
@@ -44,16 +45,21 @@ public class ConcurrentMessageDigest {
try {
// Init commonly used algorithms
init(MD5);
+ init(SHA1);
} catch (NoSuchAlgorithmException e) {
throw new IllegalArgumentException(e);
}
}
- public static byte[] digestMD5(byte[] input) {
+ public static byte[] digestMD5(byte[]... input) {
return digest(MD5, input);
}
- public static byte[] digest(String algorithm, byte[] input) {
+ public static byte[] digestSHA1(byte[]... input) {
+ return digest(SHA1, input);
+ }
+
+ public static byte[] digest(String algorithm, byte[]... input) {
Queue<MessageDigest> queue = queues.get(algorithm);
if (queue == null) {
@@ -71,7 +77,10 @@ public class ConcurrentMessageDigest {
}
}
- byte[] result = md.digest(input);
+ for (byte[] bytes : input) {
+ md.update(bytes);
+ }
+ byte[] result = md.digest();
queue.add(md);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org