android md5加密与php md5加密一致

来源:互联网 发布:emc测试 知乎 编辑:程序博客网 时间:2024/06/15 08:17

在Android开发过程中加密密码常常采用md5加密方式,然而如果服务器端采用php开发(php采用md5加密很简单,直接md5($str)),很可能与java的md5加密不一致。以下方法是md5加密与php一致的源码:

import java.math.BigInteger;  import java.security.MessageDigest;  import java.security.NoSuchAlgorithmException;  public class MD5 {  //密码加密 与php加密一致  public static String md5(String input) throws NoSuchAlgorithmException {  String result = input;  if(input != null) {  MessageDigest md = MessageDigest.getInstance("MD5"); //or "SHA-1"  md.update(input.getBytes());  BigInteger hash = new BigInteger(1, md.digest());  result = hash.toString(16);  while(result.length() < 32) {  result = "0" + result;  }  }  return result;  }  }  


以前从网上学到的,实现java的md5加密结果与php的md5结果一致。最近又用到了,贴出来分享,代码如下:


public static String md5(String inputStr) throws NoSuchAlgorithmException {      String md5Str = inputStr;      if(inputStr != null) {          MessageDigest md = MessageDigest.getInstance("MD5");          md.update(inputStr.getBytes());          BigInteger hash = new BigInteger(1, md.digest());          md5Str = hash.toString(16);          if((md5Str.length() % 2) != 0) {              md5Str = "0" + md5Str;          }      }      return md5Str;  }  



0
原创粉丝点击