程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# MD5驗證

C# MD5驗證

編輯:C#入門知識

C# MD5驗證


孫廣東 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);  // 返回
data-cke-saved-src=https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017012018162788.png

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved