zoukankan      html  css  js  c++  java
  • 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");
                }

            }

  • 相关阅读:
    【CF1023D】Array Restoration(构造,线段树)
    【CF1020E】Sergey's problem(构造)
    【CF1020D】The hat(交互,二分)
    【CF1017F】The Neutral Zone(Bitset,埃氏筛)
    【CF1016F】Road Projects(贪心)
    【ZOJ4063】Tournament(构造)
    EQueue
    领域驱动设计(DDD)部分核心概念的个人理解
    DDD CQRS架构和传统架构的优缺点比较
    限流算法-三种思路
  • 原文地址:https://www.cnblogs.com/scottckt/p/1029553.html
Copyright © 2011-2022 走看看