欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MD5实现加密

程序员文章站 2024-03-19 11:47:28
...
import java.security.MessageDigest;

public class Security {
    public static String encodeToMD5(String s) throws Exception{
        if (s == null)
            return null;
        String digstr = "";
        MessageDigest MD = MessageDigest.getInstance("MD5");

        byte[] oldbyte = new byte[s.length()];
        for (int i = 0; i < s.length(); i++) {
            oldbyte[i] = (byte) s.charAt(i);
        }
        MD.update(oldbyte);
        byte[] newbyte = MD.digest(oldbyte);
        for (int i = 0; i < newbyte.length; i++) {
            digstr = digstr + newbyte[i];
        }

        return digstr;
    }

    public static void main(String[] args) {
    	try {
			String pw = encodeToMD5("huang");
			System.out.println("md5加密后:" + pw);
    	} catch (Exception e) {
			e.printStackTrace();
		}
    	
    }
}

首先, md5 无法解密.

登录密码加密的实现思路应该是:

1. 用户设置密码的时候,将密码进行md5加密,然后存入数据库,
2. 用户登录的时候,同样用md5算法加密密码,然后用sql语句去数据库进行比对. 而不是将密码取出来解密了在比对.