原创, 安卓, 服务器

实现Android(Java) 和网站(PHP) MD5值相同

最近在做android开发过程中要与php网站服务器通信,需要android本地生成md5与php服务器的md5做比较,相等则通过。

终于在一个网站上 找到了一些资料里面给出了一些算法, 现在个人把他总结出来分享给大家,希望以后查找不要太费事。

其核心代码如下

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

在实现的时候需要注意 一定要将处理过程放在try中,

代码如下

try {
   String md5Str = Common.md5("test_string");
   Toast.makeText(getApplication(), md5Str, Toast.LENGTH_LONG).show();
} catch (Exception e){
   e.printStackTrace();
}

Toast 出来的结果与PHP的md5(‘test_string’);的值是相同的,自己可以尝试写下测试代码,个人是通过验证并应用到实际中的。

 

 

(1407)

Related Post