微信支付有漢字時出現簽名錯誤的解決辦法

微信支付有漢字時出現簽名錯誤的解決辦法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

相關文章
相關標籤/搜索