天天看點

常用的加密方式

WEB上常用的兩種加密方式:MD5和SHA512。

這裡分享兩個使用的方法

都需要用到.net的以下兩個空間

using System.Text

using System.Security.Cryptography

1 MD5

(不帶密鑰,任何文本使用MD5加密後的結果是一緻的,有安全隐患)

常用的加密方式

        public string PWDByMd5(string sText)

常用的加密方式
常用的加密方式
常用的加密方式

{

常用的加密方式

            string pwd = "";

常用的加密方式

            MD5 md5 = MD5.Create();

常用的加密方式

            // 加密後是一個位元組類型的數組 

常用的加密方式

            byte[] s = md5.ComputeHash(Encoding.Unicode.GetBytes(sText));

常用的加密方式

            // 通過使用循環,将位元組類型的數組轉換為字元串,此字元串是正常字元格式化所得 

常用的加密方式

            for (int i = 0; i < s.Length; i++)

常用的加密方式
常用的加密方式
常用的加密方式
常用的加密方式

                // 将得到的字元串使用十六進制類型格式。格式後的字元是小寫的字母,如果使用大寫(X)則格式後的字元是大寫字元 

常用的加密方式

                pwd = pwd + s[i].ToString("x");

常用的加密方式

            }

常用的加密方式

            return pwd;

常用的加密方式

        }

2 SHA512

(帶密鑰加密,文本需要在相同密鑰的情況下,加密出的結果才會一緻)

常用的加密方式

        public static string PWDBySHA512(

常用的加密方式

                                          string sKey,    //密鑰

常用的加密方式

                                          string sText    //需要加密的文本

常用的加密方式

                                     )

常用的加密方式
常用的加密方式
常用的加密方式
常用的加密方式

            byte[] HmacKey = System.Text.Encoding.UTF8.GetBytes(sKey);

常用的加密方式

            byte[] HmacData = System.Text.Encoding.UTF8.GetBytes(sText);

常用的加密方式
常用的加密方式

            HMACSHA512 Hmac = new HMACSHA512(HmacKey);

常用的加密方式
常用的加密方式

            CryptoStream cs = new CryptoStream(Stream.Null, Hmac, CryptoStreamMode.Write);

常用的加密方式

            cs.Write(HmacData, 0, HmacData.Length);

常用的加密方式

            cs.Close();

常用的加密方式
常用的加密方式

            byte[] Result = Hmac.Hash;

常用的加密方式
常用的加密方式

            return Convert.ToBase64String(Result);  //傳回長度為28位元組字元串

常用的加密方式

繼續閱讀