MD5加密

package com.kkb.misc.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Tool {
    public static String getMD5(String text, String salt,String algorithm) {
        try {
            MessageDigest instance = MessageDigest.getInstance(algorithm!=null?algorithm:"MD5");
            instance.update(text.getBytes("UTF-8"));
            if (salt != null) {
                instance.update(salt.getBytes("UTF-8"));
            }
            byte[] digests = instance.digest();
            StringBuilder sb = new StringBuilder();
            //字节转16进制
            for (byte digest : digests) {
                String hex = Integer.toHexString(digest & 0xFF);
                if (hex.length() < 2) {
                    sb.append(0);
                }
                sb.append(hex);
            }
            //转字符串
            return sb.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public static String getMD5(String text) {
        return getMD5(text,null);
    }
    public static String getMD5(String text,String salt) {
        return getMD5(text,salt,null);
    }

    public static void main(String[] args) {
        System.out.println(getMD5("abc"));
        System.out.println(getMD5("abc","akjKJHKJAJKSHJKAHSJANJNJANS"));
        System.out.println(getMD5("abc","akjKJHKJAJKSHJKAHSJANJNJANS","SHA-256"));
        System.out.println(getMD5("abc",null,"SHA-512"));
    }
}

 
上一篇:SALT值属于随机值


下一篇:使用Shiro加密与解密实现简单用户注册与登录验证