溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是MD5算法?如何使用MD5算法?

發布時間:2020-05-20 16:24:09 來源:億速云 閱讀:359 作者:鴿子 欄目:編程語言

在做軟件開發的過程中,必然會涉及到用戶密碼等關鍵信息的存儲。在大多數的情況下,用戶的密碼是存儲在數據庫中的。如果不加任何保密措施,直接以明文形式保存的話,很容易造成用戶個人信息的泄露,給企業和用戶帶來無法預估的損失。

目前,常用的密碼加密存儲算法有很多種,比如:MD5、3DES、AES、SHA1等。

今天我們主要來介紹一下MD5加密算法。

什么是MD5算法?如何使用MD5算法?

什么是MD5算法

MD5是一種用于產生數字簽名的單項散列算法,它以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過一系列處理,算法的輸出由4個32位分組級聯后生成一個128位散列值。

使用ASP.NET把密碼字段值進行加密,代碼如下:

using System.Security.Cryptograhoy;//引入MD5加密命名空間
public string GetMD5(string strPwd)
{
    //將要加密的字符串加上前綴與后綴后再加密
    string cl = DateTime.Now.Month + strPwd + DateTime.Now.Day;
    string pwd = "";
    //實例化一個MD5對象
    MD5 md5 = MD5.Create();
    //加密后是一個字節類型的數組,要注意編碼UTF8/Unicode等的選擇
    byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
    //翻轉生成的MD5碼
    s.Reverse();
    //通過循環,將字節類型的數組轉換為字符串
    //只取MD5碼的一部分,這樣惡意訪問者無法知道取的是哪幾位
    for(int i = 3;i < s.Length-1; i++)
    {
        //將得到的字符串使用十六進制類型格式化。格式化后的字符是小寫的字母,如果使用大寫(X),則格式化后的字符是大寫字母
        //進一步對生成的MD5碼做一些改造
        pwd = pwd + (s[i] < 198 ? s[i] + 28 : s[i]).ToString("X");
    }
    return pwd;
}

注意

如果單純使用MD5算法生成的散列值,是可以被破解的。所以我們在實際開發過程中,需要使用MD5算法,結合加鹽算法來生成無法破解的加密字符串。

以上就是ASP.NET數據庫密碼:MD5加密算法詳解的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女