Author: violetagg Date: Wed Sep 17 18:41:26 2014 New Revision: 1625734 URL: http://svn.apache.org/r1625734 Log: Merged revision 1623693 from tomcat/trunk: 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/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1623693 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java?rev=1625734&r1=1625733&r2=1625734&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java Wed Sep 17 18:41:26 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<String,Queue<MessageDigest>>(); @@ -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