public static String getTokenTwo (String appId, String packag) throws IOException, SignatureException, NoSuchAlgorithmException, InvalidKeyException {
String nonceStr = getRandomString(32);
long timestamp = System.currentTimeMillis() / 1000;
String message = buildMessageTwo( appId,timestamp,nonceStr,packag);
String signature = sign(message.getBytes("utf-8"));
return signature;
}
private static String buildMessageTwo(String appId, long timestamp, String nonceStr, String packag) {
return appId + "\n"
+ timestamp + "\n"
+ nonceStr + "\n"
+ packag + "\n";
}
private static String sign(byte[] message) throws NoSuchAlgorithmException, SignatureException, IOException, InvalidKeyException {
Signature sign = Signature.getInstance("SHA256withRSA");
PrivateKey privateKey = getPrivateKey("密钥文件地址");
sign.initSign(privateKey);
sign.update(message);
return Base64.getEncoder().encodeToString(sign.sign());
}
你好,请根据这个排查下哈~https://developers.weixin.qq.com/community/develop/doc/000cc4ffa2c2083e565b4dabe5fc09
求大佬指点一下,我这样子生成的paysign签名一直提示支付验证签名失败是什么原因,以上是我生成paysign的代码
我也遇到了同样的问题,有没有大佬指点指点
对于 支付验证签名失败 的种种问题 ,如果你的的所有参数没问题的话 那么在生成psySign的时候 需要的随机字符串和时间戳,要和小程序中调起来微信支付的 参数一样,这是我花了一天时间发现的 问题,怪自己不认真了。 实在搞不好的 加我微信 我给你发工具类源码把。我封装了一下。少踩坑咯~! 微信 13519515577
好好看支付文档,第二次签名的字段和类型