You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by vi...@apache.org on 2014/09/17 20:41:27 UTC
svn commit: r1625734 - in /tomcat/tc7.0.x/trunk: ./
java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org