主要有2种形式: 1. 直接写死MD5方式 > 例如[BaseWxPayServiceImpl.java](https://github.com/Wechat-Group/weixin-java-tools/blob/master/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java)的357行,生成JSAPI签名时采用MD5。但是如果之前的prepay使用的是HMAC-SHA256的话,会导致微信内支付显示签名错误。 2. 另外一种是调用SignUtils.createSign方法时,好几处第二个参数signType都传了null,实际最终就等于使用了MD5模式。