首页 > Windows开发 > 详细

C# MD5验证

时间:2015-06-29 11:49:48      阅读:171      评论:0      收藏:0      [点我收藏+]

孙广东  2014.6.24


     数据经网络传输后会变得非常不安全,最简单有效的解决方案是给数据加一个密钥,使用MD5 算法算出校验码,服务器收到数据和校验码后在进行比较校验码是否正确,以此来判断数据是否修改过。 PHP生成 的 MD5 校验默认为32位的字符串,  而C#默认的是16位的字节数组,需要略加修改,转为32个字节的字符串,代码如下:

        public static string Md5Sum(string strToEncrypt)
        {
            // 将需要加密的字符串转为byte数组
            byte[] bs = UTF8Encoding.UTF8.GetBytes(strToEncrypt);

            // 创建md5 对象
            System.Security.Cryptography.MD5 md5;
            md5 = System.Security.Cryptography.MD5CryptoServiceProvider.Create();

            // 生成16位的二进制校验码
            byte[] hashBytes = md5.ComputeHash(bs);

            // 转为32位字符串
            string hashString = "";
            for (int i = 0; i < hashBytes.Length; i++)
            {
                hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, ‘0‘);
            }

            return hashString.PadLeft(32, ‘0‘);
        }


使用这个 MD5 函数非常简单, 在下面的代码示例中,数据是包含有 “hello world” 的一个字符串, 密钥位123, 使用Md5Sum算出32位的校验码字符串。

            string data = "hello world";
            string key = "123";
            Md5Sum(data + key);  // 返回
技术分享






??

C# MD5验证

原文:http://blog.csdn.net/u010019717/article/details/46627941

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!