MD5加密&解决不同系统加密串不一致问题

MD5加密方法:

public String getMd5(String plainText) {
    try {
        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(plainText.getBytes());
        byte b[] = md.digest();
        int i;
        StringBuffer buf = new StringBuffer("");
        for (int offset = 0; offset < b.length; offset++) {
            i = b[offset];
            if (i < 0)
                i += 256;
            if (i < 16)
                buf.append("0");
            buf.append(Integer.toHexString(i));
        }
        return buf.toString();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
        return null;
    }
}

MD5加密在不同系统生成的加密串不一致,是因为运行环境的字符编码不一致导致的,在.getBytes()方法里加上编码即可。

plainText.getBytes(StandardCharsets.UTF_8)

你可能感兴趣的:(Java,java)