欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【在C#中生成与PHP一样的MD5 Hash Code的方法】,下面是详细的讲解!
在C#中生成与PHP一样的MD5 Hash Code的方法
最近在对一个现有的系统进行C#改造,该系统以前是用PHP做的,后台的管理员登陆用的是MD5加密算法。在PHP中,要对一个字符串进行MD5加密非常简单,一行代码即可:
直接调用md5()方法,然后将要进行MD5加密的字符串传进去,就可以得到返回的hash code。在C#中应该也会有对应的算法吧!对吗?我首先尝试了下面的代码,结果得到的hash code和PHP不一样。
所以,我们不得不借用C#的MD5CryptoServiceProvider对象自己写代码进行转换。
1. 实例化MD5CryptoServiceProvider对象
2. 将字符串转换成byte数组
3. 使用MD5CryptoServiceProvider对象的ComputeHash()方法将byte数组进行加密,返回转换后的byte数组
4. 在讲byte数组转换成字符串之前,还需要对其进行遍历并做如下转换:
myByte.ToString("x2").ToLower()
然后,你才能得到和PHP中一样的MD5 hash code。为什么在.NET中要这么麻烦,或许这也是为什么那么多的开发人员仍然热衷于PHP开发的理由之一,每一门编程语言都有它自身的魅力,也都有它存在的意义!
基于上面的讨论,完整的代码如下:
或者,你也可以把上面的方法写成一个C#扩展方法,只需要修改方法签名即可。
PHP程序和C#程序在许多方面都会涉及到格式之间的转换,如果运行PHP的服务器是UNIX类型的,则还会存在日期格式之间的转换。下面的两个方法展示了如何将UNIX时间转换成C# DateTime以及如何将C# DateTime转换成UNIX时间。
关于在C#中生成与PHP一样的MD5 Hash Code的方法的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
