微信支付有汉字时出现签名错误的解决办法
博客专区 > glen_xu 的博客 > 博客详情
微信支付有汉字时出现签名错误的解决办法
glen_xu 发表于1年前
微信支付有汉字时出现签名错误的解决办法
  • 发表于 1年前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

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

 

最近发现在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;
    }

共有 人打赏支持
粉丝 2
博文 78
码字总数 7760
×
glen_xu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: