我是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以字节形式返回。我将它转换为字符串
答案 0 :(得分:1)
您正在使用Encoding.GetString
将字节转换为字符串,但这只能用于将某些内容转换回编码为字节的字符串。
使用BitConverter.GetString
方法将字节转换为PHP sha1
函数返回的相同十六进制字符串:
string str = BitConverter.ToString(x).Replace("-", String.Empty);