package cn.nudt.goods.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public final class Digest {
private MessageDigest md=null;
private Digest(MessageDigest md){
this.md=md;
}
public String getDigest(String in){
md.update(in.getBytes());
StringBuffer sb=new StringBuffer();
for (byte b : md.digest()) {
sb.append(String.format("%02X", b));
}
return new String(sb);
}
public static enum Builder{
builder;
private static String[] algorithm={"MD5","SHA-1","SHA-256"};
public static Digest byMD5(){
MessageDigest md=null;
try {
md=MessageDigest.getInstance(algorithm[0]);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new Digest(md);
}
public static Digest bySHA1(){
MessageDigest md=null;
try {
md=MessageDigest.getInstance(algorithm[1]);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new Digest(md);
}
public static Digest bySHA256(){
MessageDigest md=null;
try {
md=MessageDigest.getInstance(algorithm[2]);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new Digest(md);
}
}
}
转载于:https://my.oschina.net/nck/blog/366556