@@ -81,7 +81,7 @@ private static byte[] getBytesUtf8(String data) {
8181 * @throws RuntimeException
8282 * when a {@link java.security.NoSuchAlgorithmException} is caught.
8383 */
84- static MessageDigest getDigest (String algorithm ) {
84+ public static MessageDigest getDigest (String algorithm ) {
8585 try {
8686 return MessageDigest .getInstance (algorithm );
8787 } catch (NoSuchAlgorithmException e ) {
@@ -96,7 +96,7 @@ static MessageDigest getDigest(String algorithm) {
9696 * @throws RuntimeException
9797 * when a {@link java.security.NoSuchAlgorithmException} is caught.
9898 */
99- private static MessageDigest getMd5Digest () {
99+ public static MessageDigest getMd5Digest () {
100100 return getDigest ("MD5" );
101101 }
102102
@@ -110,7 +110,7 @@ private static MessageDigest getMd5Digest() {
110110 * @throws RuntimeException
111111 * when a {@link java.security.NoSuchAlgorithmException} is caught.
112112 */
113- private static MessageDigest getSha256Digest () {
113+ public static MessageDigest getSha256Digest () {
114114 return getDigest ("SHA-256" );
115115 }
116116
@@ -124,7 +124,7 @@ private static MessageDigest getSha256Digest() {
124124 * @throws RuntimeException
125125 * when a {@link java.security.NoSuchAlgorithmException} is caught.
126126 */
127- private static MessageDigest getSha384Digest () {
127+ public static MessageDigest getSha384Digest () {
128128 return getDigest ("SHA-384" );
129129 }
130130
@@ -138,7 +138,7 @@ private static MessageDigest getSha384Digest() {
138138 * @throws RuntimeException
139139 * when a {@link java.security.NoSuchAlgorithmException} is caught.
140140 */
141- private static MessageDigest getSha512Digest () {
141+ public static MessageDigest getSha512Digest () {
142142 return getDigest ("SHA-512" );
143143 }
144144
@@ -149,7 +149,7 @@ private static MessageDigest getSha512Digest() {
149149 * @throws RuntimeException
150150 * when a {@link java.security.NoSuchAlgorithmException} is caught.
151151 */
152- private static MessageDigest getShaDigest () {
152+ public static MessageDigest getShaDigest () {
153153 return getDigest ("SHA" );
154154 }
155155
@@ -578,4 +578,34 @@ public static String shaHex(InputStream data) throws IOException {
578578 public static String shaHex (String data ) {
579579 return Hex .encodeHexString (sha (data ));
580580 }
581+
582+ /**
583+ * Updates the given {@link MessageDigest}.
584+ *
585+ * @param messageDigest
586+ * the {@link MessageDigest} to update
587+ * @param valueToDigest
588+ * the value to update the {@link MessageDigest} with
589+ * @return the updated {@link MessageDigest}
590+ * @since 1.7
591+ */
592+ public static MessageDigest updateDigest (final MessageDigest messageDigest , final String valueToDigest ) {
593+ messageDigest .update (getBytesUtf8 (valueToDigest ));
594+ return messageDigest ;
595+ }
596+
597+ /**
598+ * Updates the given {@link MessageDigest}.
599+ *
600+ * @param messageDigest
601+ * the {@link MessageDigest} to update
602+ * @param valueToDigest
603+ * the value to update the {@link MessageDigest} with
604+ * @return the updated {@link MessageDigest}
605+ * @since 1.7
606+ */
607+ public static MessageDigest updateDigest (final MessageDigest messageDigest , byte [] valueToDigest ) {
608+ messageDigest .update (valueToDigest );
609+ return messageDigest ;
610+ }
581611}
0 commit comments