MD5散列用户密码保存到数据库中

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5 {
    // 如果需要把转换后的密码保存到数据库中,需要使用的类型为:char(32)
    public static String getMd5(String str) {
        try {
            // 获取MessageDigest对象,该对象完成加密
            MessageDigest md = MessageDigest.getInstance("MD5");
            //  把要加密的信息转换成字节数组,再使用转换后的字节数组初始化MessgeDigest对象
            md.update(str.getBytes());
            // 调用digest方法进行加密,返回byte数组
            byte[] hash = md.digest();
            StringBuffer sb = new StringBuffer();
            int i = 0;
            for (int offset = 0; offset < hash.length; offset++) {
                i = hash[offset];
                if (i < 0) {
                    i += 256;
                }
                if (i < 16) {
                    sb.append("0");
                }
                sb.append(Integer.toHexString(i));
            }
            // 把byte数组转换成字符串,然后就可以使用加密后的字符串了
            return sb.toString();
        }
        catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }


    public static void main(String[] args) {
        // String PASSWORD = String.valueOf((int) (Math.random() * 1000000));
        String PASSWORD = "pengxiaoye1998";
        System.out.println(getMd5(PASSWORD));
    }
}

参考资料

javascript+Java 实现MD5加密登录密码
你会做WEB上的用户登录功能吗?
我的java web登录RSA加密

你可能感兴趣的:(MD5散列用户密码保存到数据库中)