package org.jboss.seam.example.seamspace;
import java.security.MessageDigest;
import org.jboss.seam.Component;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.util.Hex;
@Name("hash")
public class Hash {
String hashFunction = "MD5";
String charset = "UTF-8";
public String hash(String password) {
try {
MessageDigest md = MessageDigest.getInstance(hashFunction);
md.update(password.getBytes(charset));
byte[] raw = md.digest();
return new String(Hex.encodeHex(raw));
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
public String getCharset() {
return charset;
}
public void setCharset(String charset) {
this.charset = charset;
}
public String getHashFunction() {
return hashFunction;
}
public void setHashFunction(String hashFunction) {
this.hashFunction = hashFunction;
}
public static Hash instance() {
return (Hash) Component.getInstance(Hash.class);
}
}