星空网 > 软件开发 > ASP.net

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;    }

 

解决方式:在php中sha1出来的是小写字母,可是在c#中默认出来的是大写,在token验证的时候也是区分大小写的,另外很多人在

      // string output = Convert.ToBase64String(temp2);// 不能直接转换成base64string      var output = BitConverter.ToString(temp2);

  这里犯了错误却一直没有发现,所以找了很久的原因 

 

PS:

在送上一个Php的

base64_encode的c#实现

    public static string Base64_encode(string data)    {      return Convert.ToBase64String(Encoding.UTF8.GetBytes(data));    }

  

 




原标题:c# 与 PHP中 SHA1加密结果不同解决方法

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

跨境海外仓库:https://www.goluckyvip.com/tag/36777.html
跨境海外仓模式:https://www.goluckyvip.com/tag/36778.html
跨境海外仓哪家好:https://www.goluckyvip.com/tag/36779.html
宠物电商:https://www.goluckyvip.com/tag/3678.html
跨境海外仓一件代发:https://www.goluckyvip.com/tag/36780.html
跨境海外仓有哪些:https://www.goluckyvip.com/tag/36781.html
23点聊电商:新质生产力加速数字贸易发展 卓尔智联集团实现营收利润双增长 :https://www.kjdsnews.com/a/1836411.html
南京浦口都有什么好玩的地方 南京浦口都有什么好玩的地方推荐:https://www.vstour.cn/a/363180.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流