C#与PHP中SHA1加密结果不同解决方法

那天在调试API的时候,发现用c#写的SHA1加密出来的结果和PHP中sha1()出来的不一样,找了半天的原因后来才弄出来

在调试微信接口的时候大多的帮助文档都是提供的是PHP的方法,所以在.net中实现的时候会出现很多的问题,最典型的就是token通不过验证

现在提供一个结果与Php一样 的SHA1方法

public static string Sha1Sign(string data)
{
    byte[] temp1 = Encoding.UTF8.GetBytes(data);
    SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
    byte[] temp2 = sha.ComputeHash(temp1);
    sha.Clear();
    // 注意, 不能用这个
    // string output = Convert.ToBase64String(temp2);// 不能直接转换成base64string
    var output = BitConverter.ToString(temp2);
    output = output.Replace("-", "");
    output = output.ToLower();
    return output;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值