最近在做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’);的值是相同的,自己可以尝试写下测试代码,个人是通过验证并应用到实际中的。
(1410)