【发布时间】:2012-09-03 05:20:27
【问题描述】:
我正在与我的 ASP.NET 网页进行 Securepay 集成,根据他们的文档,我正在从以下信息生成 SHA1:
指纹是上述字段的 SHA1 哈希加上 SecurePay 交易密码,按此顺序使用管道分隔符“|”:
- EPS_MERCHANTID
- 交易密码(由 SecurePay 支持提供)
- EPS_TXNTYPE(为 0)
- EPS_REFERENCEID(用于测试目的 123)
- EPS_AMOUNT(用于测试目的 100.00)
- EPS_TIMESTAMP(用于测试目的 20120910203805)
虽然我已按照上述说明进行操作,但每当我付款时,它都会显示“Invalid Fingerprint”。示例代码:
FormsAuthentication
.HashPasswordForStoringInConfigFile("xxx|xxx|0|123|100.00|20120910203805","sha1")
.ToLower();`
【问题讨论】:
-
请您出示您的代码(隐藏密码)
-
好的,如下:FormsAuthentication.HashPasswordForStoringInConfigFile("xxx|xxx|0|123|100.00|20120910203805", "sha1").ToLower();
-
所以你用它来创建一个哈希密码来保存在配置文件中?只是因为文档说它适合存储在配置中而询问。
-
我没有使用哈希密码保存在配置文件中,但上面给出的函数创建了 SHA1 而不存储它
-
我认为您需要仔细阅读有关如何散列的文档,因为我认为您希望安全散列随请求一起发送,以便他们(支付服务提供商)可以验证您的请求是你的吗?通常你有一个共享的秘密词,它与其他信息位一起被散列。
标签: c# asp.net cryptography payment-gateway sha