微信支付有汉字时出现签名错误的解决办法

微信支付有汉字时出现签名错误的解决办法java

 

最近发如今win2003开发微信支付时,有汉字时出现签名错误,但在win7上不会出错,微信

最后发现是字符编码不一致形成的。微信支付

 

解决办法编码

改正wxpay-scanpay-java-sdk-1.0.jar中的md5.java文件,加密

/**
     * MD5编码
     * @param origin 原始字符串
     * @return 通过MD5加密以后的结果
     */
    public static String MD5Encode(String origin) {
        String resultString = null;
        try {
            resultString = origin;
            MessageDigest md = MessageDigest.getInstance("MD5");
           // resultString = byteArrayToHexString(md.digest(resultString.getBytes()));//原文件内容,可能缘由是:win2003时系统缺省编码为GBK,win7为utf-8
            resultString = byteArrayToHexString(md.digest(resultString.getBytes("utf-8")));//正确的写法
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resultString;
    }.net

相关文章
相关标签/搜索