标准MD5加密工具类

来源:互联网 发布:清华大学 网络教育 编辑:程序博客网 时间:2024/06/11 09:35
package test;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Encryption {    private MD5Encryption() {    }    public static String getEncryption(String originString)            throws UnsupportedEncodingException {        String result = "";        if (originString != null) {            try {                // 指定加密的方式为MD5                MessageDigest md = MessageDigest.getInstance("MD5");                // 进行加密运算                byte bytes[] = md.digest(originString.getBytes("ISO8859-1"));                for (int i = 0; i < bytes.length; i++) {                    // 将整数转换成十六进制形式的字符串 这里与0xff进行与运算的原因是保证转换结果为32位                    String str = Integer.toHexString(bytes[i] & 0xFF);                    if (str.length() == 1) {                        str += "F";                    }                    result += str;                }            } catch (NoSuchAlgorithmException e) {                e.printStackTrace();            }        }        return result;    }}


测试

package test;import java.io.UnsupportedEncodingException;public class Test {public static void main(String[] args) throws UnsupportedEncodingException {    String password=MD5Encryption.getEncryption("hello1234");    System.out.println(password);    }}

加密后的字符串位32位

算法是hexString(md5(password明文.getBytes("ISO8859-1")))。

明文hello1234运算出来为

9a1996efc97181f0aee18321aa3b3b12



DigestUtils工具类

也可以使用org.apache.commons.codec.digest.DigestUtils.md5Hex

和org.springframework.util.DigestUtils.md5DigestAsHex方便操作

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1740223

0 0