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