码迷,mamicode.com
首页 > Windows程序 > 详细

C# MD5验证

时间:2015-06-29 11:51:20      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:unity3d   c#   

孙广东  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验证

标签:unity3d   c#   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!