我有一个面向外部的web服务,但是我需要生成验证系统,以确保请求来自一个有效的客户。
让年代说最初的web服务定义如下:
[OperationContract]
public void Service.RequestMethod (string clientId, int reqNumber,
string reqText)
{
// do stuff with the parameters
}
我想确保实际上来自客户机的请求指定的<代码> clientId > < /代码参数。
我现在的计划是另一个参数添加到方法签名,给各种各样的校验和。
[OperationContract]
public void Service.RequestMethod (string clientId, int reqNumber,
string reqText, string reqChecksum)
{
// verify reqChecksum, then
// do stuff with the parameters
}
我需要一个函数,验证计算的校验和是通过客户端。应该计算<代码> reqNumber < /代码>和<代码> reqText > < /代码参数以及关系的“密码”的客户端和服务器。
实际上,应该是:
private bool VerifyChecksum(int reqNumber, string reqText,
string clientPassword, string reqChecksum)
{
// hash reqNumber, reqTxt, and clientPassword
// ensure it matches reqChecksum
}
有人有什么建议对于这个哈希函数或模型作为一个整体?
它需要于消息、放置和很难猜(高熵)。