PHP与JAVA在对中文进行MD5加密时,不一致问题解决

最近在做收款宝(个人微信\支付宝\QQ免签收款辅助)开发时,发现中文备注就会签名失败,于是进行了特别处理;

分享给大家:

PHP部分

1
2
$b = "我是中国人";
echo md5(urlencode($b));

JAVA部分

1
2
3
4
5
6
7
8
String tag ="我是中国人";
try {
    tag = encode(URLEncoder.encode(tag,"utf-8"));
} catch (UnsupportedEncodingException e) {
    // TODO 自动生成的 catch 块
    //e.printStackTrace();
}
System.out.println(tag);