关于MD5验签失败 同一字符串 调用相同的加密方法 出现加密的值不一样的问题

废话不多说直接上代码

 public static String getMD5Str(String str) {  
  byte[] msg = str.getBytes();
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(msg);
} catch (NoSuchAlgorithmException e) {

}
byte[] b = messageDigest.digest();
return new String(Base64.encodeBase64(b));
    }  

修改之后的代码

 public static String getMD5Str(String str) {
  
  byte[] msg = null;
  try{
  msg =str.getBytes("UTF-8");
  }catch(UnsupportedEncodingException e1){
  
  }
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(msg);
} catch (NoSuchAlgorithmException e) {

}
byte[] b = messageDigest.digest();
return new String(Base64.encodeBase64(b));
    }  
   WINDOW 默认编码格式为GBK  服务器为 Linux 默认编码格式为UTF-8  接收方没有设置编码  默认也是UTF-8  所以在修改本地编码格式之后 加签一致了 
 

你可能感兴趣的:(java)