欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          ASP.NET數(shù)據(jù)庫(kù)密碼:MD5加密算法詳解

          在做軟件開(kāi)發(fā)的過(guò)程中,必然會(huì)涉及到用戶密碼等關(guān)鍵信息的存儲(chǔ)。在大多數(shù)的情況下,用戶的密碼是存儲(chǔ)在數(shù)據(jù)庫(kù)中的。如果不加任何保密措施,直接以明文形式保存的話,很容易造成用戶個(gè)人信息的泄露,給企業(yè)和用戶帶來(lái)無(wú)法預(yù)估的損失。

          目前,常用的密碼加密存儲(chǔ)算法有很多種,比如:MD5、3DESAES、SHA1等。

          今天我們主要來(lái)介紹一下MD5加密算法。

          ASP.NET數(shù)據(jù)庫(kù)密碼:MD5加密算法詳解

          什么是MD5算法

          MD5是一種用于產(chǎn)生數(shù)字簽名的單項(xiàng)散列算法,它以512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)一系列處理,算法的輸出由4個(gè)32位分組級(jí)聯(lián)后生成一個(gè)128位散列值。

          使用ASP.NET把密碼字段值進(jìn)行加密,代碼如下:

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

          注意

          如果單純使用MD5算法生成的散列值,是可以被破解的。所以我們?cè)趯?shí)際開(kāi)發(fā)過(guò)程中,需要使用MD5算法,結(jié)合加鹽算法來(lái)生成無(wú)法破解的加密字符串。

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)