X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fusermgt%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthentication%2FMd5HexMessageDigester.java;fp=security%2Fusermgt%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthentication%2FMd5HexMessageDigester.java;h=b992f5d78f4689f04cdaab9cde8126d9cc972bfa;hb=23ca9874c550574de814c01407673b485470d56c;hp=0000000000000000000000000000000000000000;hpb=c57f48be7eb404ec3cc72d4586eff1ea32c3b673;p=utils diff --git a/security/usermgt/src/main/java/org/wamblee/security/authentication/Md5HexMessageDigester.java b/security/usermgt/src/main/java/org/wamblee/security/authentication/Md5HexMessageDigester.java new file mode 100644 index 00000000..b992f5d7 --- /dev/null +++ b/security/usermgt/src/main/java/org/wamblee/security/authentication/Md5HexMessageDigester.java @@ -0,0 +1,53 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.wamblee.security.authentication; + +import org.apache.commons.codec.binary.Hex; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * MD5 Hex encoder. + * + * @author Erik Brakkee + */ +public class Md5HexMessageDigester implements MessageDigester { + /** + * Constructs the message digester. + * + */ + public Md5HexMessageDigester() { + // Empty + } + + /* + * (non-Javadoc) + * + * @see org.wamblee.security.MessageDigester#hash(java.lang.String) + */ + public String hash(String aValue) { + try { + MessageDigest digest = MessageDigest.getInstance("MD5"); + byte[] result = digest.digest(aValue.getBytes()); + char[] charResult = Hex.encodeHex(result); + + return new String(charResult); + } catch (NoSuchAlgorithmException e) { + throw new IllegalArgumentException("MD5 not supported????"); + } + } +}