android md5加密与php md5加密一致

来源:互联网 发布:北师大网络教育作业 编辑:程序博客网 时间:2024/06/14 09:19

在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 0