001package gudusoft.gsqlparser.dlineage.util;
002
003import gudusoft.gsqlparser.util.Logger;
004import gudusoft.gsqlparser.util.LoggerFactory;
005
006import java.security.MessageDigest;
007
008public class SHA256 {
009
010    private static final Logger logger = LoggerFactory.getLogger(SHA256.class);
011
012    public static String getSHA256(String str) {
013        MessageDigest messageDigest;
014        String encodestr = "";
015        try {
016            messageDigest = MessageDigest.getInstance("SHA-256");
017            messageDigest.update(str.getBytes("UTF-8"));
018            encodestr = byte2Hex(messageDigest.digest());
019        } catch (Exception e) {
020            logger.error("generate sha256 failed.", e);
021        }
022        return encodestr;
023    }
024    
025    public static String getMd5(String str) {
026        MessageDigest messageDigest;
027        String encodestr = "";
028        try {
029            messageDigest = MessageDigest.getInstance("MD5");
030            messageDigest.update(str.getBytes("UTF-8"));
031            encodestr = byte2Hex(messageDigest.digest());
032        } catch (Exception e) {
033            logger.error("generate md5 failed.", e);
034        }
035        return encodestr;
036    }
037
038
039    private static String byte2Hex(byte[] bytes) {
040        StringBuffer stringBuffer = new StringBuffer();
041        String temp = null;
042        for (int i = 0; i < bytes.length; i++) {
043            temp = Integer.toHexString(bytes[i] & 0xFF);
044            if (temp.length() == 1) {
045                stringBuffer.append("0");
046            }
047            stringBuffer.append(temp);
048        }
049        return stringBuffer.toString();
050    }
051}