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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org