MD5和SHA加密

来源:互联网 发布:delphi算法与数据结构 编辑:程序博客网 时间:2024/05/16 09:11
//MD5加密字符串32位 16位截取8-24  public static String md5Encode(String inStr) throws Exception {        MessageDigest md5 = null;        try {            md5 = MessageDigest.getInstance("MD5");        } catch (Exception e) {            System.out.println(e.toString());            e.printStackTrace();            return "";        }        byte[] byteArray = inStr.getBytes("UTF-8");        byte[] md5Bytes = md5.digest(byteArray);        StringBuffer hexValue = new StringBuffer();        for (int i = 0; i < md5Bytes.length; i++) {            int val = ((int) md5Bytes[i]) & 0xff;            if (val < 16) {                hexValue.append("0");            }            hexValue.append(Integer.toHexString(val));        }        return hexValue.toString();    } /***      * SHA加密 生成40位SHA码     * @param 待加密字符串     * @return 返回40位SHA码     */    public static String shaEncode(String inStr) throws Exception {        MessageDigest sha = null;        try {            sha = MessageDigest.getInstance("SHA");        } catch (Exception e) {            System.out.println(e.toString());            e.printStackTrace();            return "";        }        byte[] byteArray = inStr.getBytes("UTF-8");        byte[] md5Bytes = sha.digest(byteArray);        StringBuffer hexValue = new StringBuffer();        for (int i = 0; i < md5Bytes.length; i++) {            int val = ((int) md5Bytes[i]) & 0xff;            if (val < 16) {                 hexValue.append("0");            }            hexValue.append(Integer.toHexString(val));        }        return hexValue.toString();    }

0 0