由于之前开发的项目使用的是C#,用户信息使用的C#的MD5加密码方式,而现在需要切换到Java平台下,关键问题是如何将用户信息通过Java方式的MD5加密码到与C#同样的结果。

 

经过查询资料与测试,Java与C#默认的MD5加密结果是一致的,主要是编码问题。(以前使用了是.NET的Unicode编码)

为了使当前j系统(java)能与以前的用户登录使用的密码一致(.net),只要是对java加密过程添加对应的编码格式。

import java.security.MessageDigest;

public class MD5Util
{
  //生成MD5
  public static byte[] getMD5(String message) {
    String md5 = "";
    byte[] md5Byte=null;
    try {
      MessageDigest md = MessageDigest.getInstance("MD5");  // 创建一个md5算法对象
      byte[] messageByte = message.getBytes("UTF-16LE");
      md.update(messageByte);
      md5Byte = md.digest();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return md5Byte;
  }
}

转自https://www.cnblogs.com/zengguoyu/p/3973483.html

10-03 23:05