c# 中對輸入的值用md5或Hash加密

        using System.Security.Cryptography;


        
/// <summary>
        
/// MD5加密方法
        
/// </summary>
        
/// <param name="asSource">源Md5值</param>
        
/// <param name="asDestination">需對比的字符</param>
        
/// <returns>是否正確</returns>

        private bool Md5EncryptJudge(string asSource, string asDestination)
        
{
            
bool bResult = false;
            
string sDestination ="";
            
//定義Md5密碼服務類
            MD5CryptoServiceProvider mdcpValu = new MD5CryptoServiceProvider();
            
//將傳入的值轉換成UTF8格式。便於加密時的格式統一
            byte[] bDestination = System.Text.Encoding.UTF8.GetBytes(asDestination);
            
//加密
            byte[] bDestinationMd5 = mdcpValu.ComputeHash(bDestination);
            
//將加密后的值賦給字符串
            foreach (byte bVal in bDestinationMd5)
            
{
                sDestination 
+= bVal.ToString();
            }

            
//判斷需對比的值加密成md5后與傳入的MD5值是否與傳入的相等
            if (asSource == sDestination)
            
{
                bResult 
= true;
            }

            
else
            
{
                bResult 
= false;
            }

            
return bResult;
        }




        /// <summary>
        
/// Hash加密
        
/// </summary>
        
/// <param name="asSource">源加密后的值</param>
        
/// <param name="asDestination">目標字符串</param>

        private void HashEncrypt(string sScouce, string asDestination)
        
{
            
byte[] bDestinationValue = System.Text.Encoding.UTF8.GetBytes(asDestination);
            HMACSHA1 hsVal 
= new HMACSHA1();
            
//加密
            byte[] bHmacshaValue = hsVal.ComputeHash(bDestinationValue);
            
//將加密后的值轉換為字符
            string sDesHmaVal = Convert.ToBase64String(bHmacshaValue);
            
if (sScouce == sDesHmaVal)
            
{
                MessageBox.Show(
"Ok");
            }

            
else
            
{
                MessageBox.Show(
"False");
            }

        }

原文地址:https://www.cnblogs.com/scottckt/p/1029553.html