报错截图或相关BUG
在此处粘贴截图
复现步骤
- 支付成功,回调方法中 msg_signature 和 我的签名对不上
我是用.net core开发的,代码如下:
string[] ArrTmp = { ConfigHelper.GetAppSetting("TouTiao", "Token"), request.timestamp.ToString(), request.nonce.ToString(), request.msg };
Array.Sort(ArrTmp); //字典排序
string sign = string.Join("", ArrTmp);
sign = GetSwcSHA1(sign).ToLower();
/// <summary>
/// sha1加密
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string GetSwcSHA1(string value)
{
SHA1 algorithm = SHA1.Create();
byte[] data = algorithm.ComputeHash(Encoding.UTF8.GetBytes(value));
string sh1 = "";
for (int i = 0; i < data.Length; i++)
{
sh1 += data[i].ToString("x2").ToUpperInvariant();
}
return sh1;
}
提交的数据:
{
"timestamp": 1630286157,
"nonce": 6122,
"msg": "{\"appid\":\"tt95b5e3080a8da3b301\",\"cp_orderno\":\"Y210830091536116496644155\",\"cp_extra\":\"\",\"way\":\"2\",\"channel_no\":\"2021083022001438641420373865\",\"channel_gateway_no\":\"\",\"payment_order_no\":\"PC2021083009154113813724526405\",\"out_channel_order_no\":\"\",\"total_amount\":1,\"status\":\"SUCCESS\",\"seller_uid\":\"69896027214479219270\",\"extra\":\"null\",\"item_id\":\"\",\"paid_at\":1630286158,\"message\":\"\"}",
"msg_signature": "0081080c1b5326b2ea45fdcadb58d435567f0a6c",
"type": "payment"
}
我的签名结果是:5cb72b0026a73472be4fda1d86215a035af36674 和 0081080c1b5326b2ea45fdcadb58d435567f0a6c 不一致,不知道是哪里有问题