Author: sebb
Date: Mon May 23 12:19:56 2016
New Revision: 1745171
URL: http://svn.apache.org/viewvc?rev=1745171&view=rev
Log:
Check for algorithm availability
Modified:
commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/digest/HmacUtils.java
Modified:
commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/digest/HmacUtils.java
URL:
http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/digest/HmacUtils.java?rev=1745171&r1=1745170&r2=1745171&view=diff
==============================================================================
---
commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/digest/HmacUtils.java
(original)
+++
commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/digest/HmacUtils.java
Mon May 23 12:19:56 2016
@@ -59,6 +59,38 @@ public final class HmacUtils {
private static final int STREAM_BUFFER_LENGTH = 1024;
/**
+ * Returns whether this algorithm is available
+ *
+ *@param name the name to check
+ * @return whether this algorithm is available
+ * @since 1.11
+ */
+ public static boolean isAvailable(String name) {
+ try {
+ Mac.getInstance(name);
+ return true;
+ } catch (NoSuchAlgorithmException e) {
+ return false;
+ }
+ }
+
+ /**
+ * Returns whether this algorithm is available
+ *
+ *@param name the name to check
+ * @return whether this algorithm is available
+ * @since 1.11
+ */
+ public static boolean isAvailable(HmacAlgorithms name) {
+ try {
+ Mac.getInstance(name.getName());
+ return true;
+ } catch (NoSuchAlgorithmException e) {
+ return false;
+ }
+ }
+
+ /**
* Returns an initialized <code>Mac</code> for the HmacMD5 algorithm.
* <p>
* Every implementation of the Java platform is required to support this
standard Mac algorithm.