View Javadoc
1 /* 2 * Copyright �, Aegeus Technology Limited. 3 * All rights reserved. 4 */ 5 package jsdsi.util; 6 7 import java.security.MessageDigest; 8 import java.security.NoSuchAlgorithmException; 9 import java.security.NoSuchProviderException; 10 11 import jsdsi.JsdsiRuntimeException; 12 13 /*** 14 * Utility class for MessageDigests 15 * 16 * @author Sean Radford 17 * @version $Revision: 1.4 $ $Date: 2004/11/08 12:08:08 $ 18 */ 19 public class DigestUtils { 20 21 /*** 22 * 23 */ 24 private DigestUtils() { 25 super(); 26 } 27 28 /*** 29 * Return a java.security.MessageDigest 30 * @param digest a DigestAlgoEnum representing the type of digest sought 31 * @return the MessageDigest 32 * @throws jsdsi.JsdsiRuntimeException on error 33 */ 34 public static MessageDigest getDigest(DigestAlgoEnum digest) { 35 return getDigest(digest, null); 36 } 37 38 /*** 39 * Return a java.security.MessageDigest 40 * @param digest a DigestAlgoEnum representing the type of digest sought 41 * @param provider the Provider to use 42 * @return the MessageDigest 43 * @throws jsdsi.JsdsiRuntimeException on error 44 */ 45 public static MessageDigest getDigest(DigestAlgoEnum digest, 46 String provider) { 47 if (digest == null) { 48 throw new IllegalArgumentException("name is NULL"); 49 } 50 try { 51 if (provider==null) { 52 return MessageDigest.getInstance(digest.jdkName()); 53 } else { 54 return MessageDigest.getInstance(digest.jdkName(), provider); 55 } 56 } catch (NoSuchAlgorithmException e) { 57 throw new JsdsiRuntimeException("No such MessageDigest algorythm: " + digest.jdkName()); 58 } catch (NoSuchProviderException e) { 59 throw new JsdsiRuntimeException("No such MessageDigest provider: " + provider); 60 } 61 } 62 63 /*** 64 * Calculate and return the MD5 digest of the given data 65 * @param bytes data to digest 66 * @return the digest 67 */ 68 public static byte[] md5(byte[] bytes) { 69 MessageDigest digester = DigestUtils.getDigest(DigestAlgoEnum.MD5); 70 return digester.digest(bytes); 71 } 72 73 }

This page was automatically generated by Maven