将字符串值传递给需要SHA1字符串的WSDL API

时间:2014-08-15 07:46:14

标签: c# .net razor

我是C#.net的新手,但我使用的是php。我希望获得与此相同的结果

$var = $username.$jpwMobileNo;
$pass = sha1(utf8_encode($var ));

这样我就可以将$ pass变量传递给接受$ pass传递String的API如何实现这一点。 我试过这个

var pass = userName + no + time + key;
var p = Encoding.UTF8.GetBytes(pass);
var x = sha.ComputeHash(p);
var str = System.Text.Encoding.Default.GetString(x);
var user = new AWsdl.AgencyClient();
var resultAPI = user.GA(userName, no, time, key,str);

但是var str以字节形式返回。我将它转换为字符串

1 个答案:

答案 0 :(得分:1)

您正在使用Encoding.GetString将字节转换为字符串,但这只能用于将某些内容转换回编码为字节的字符串。

使用BitConverter.GetString方法将字节转换为PHP sha1函数返回的相同十六进制字符串:

string str = BitConverter.ToString(x).Replace("-", String.Empty);