国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

概述ASP.NET Membership

來(lái)源:長(zhǎng)沙北大青鳥大計(jì)校區(qū)|發(fā)布時(shí)間:2015-07-19 09:55:50

本來(lái)打算寫一篇介紹如何實(shí)現(xiàn)用戶登錄功能的文章的,但因?yàn)闀r(shí)間有限,所以先介紹一下密碼的散列和ASP.NET Membership

1.加Salt散列

我們知道,如果直接對(duì)密碼進(jìn)行散列,那么黑客(統(tǒng)稱那些有能力竊取用戶數(shù)據(jù)并企圖得到用戶密碼的人)可以對(duì)一個(gè)已知密碼進(jìn)行散列,然后通過(guò)對(duì)比散列值得到某用戶的密碼。換句話說(shuō),雖然黑客不能取得某特定用戶的密碼,但他可以知道使用特定密碼的用戶有哪些。

加Salt可以一定程度上解決這一問題。所謂加Salt,就是加點(diǎn)“佐料”。其基本想法是這樣的——當(dāng)用戶首次提供密碼時(shí)(通常是注冊(cè)時(shí)),由系統(tǒng)自動(dòng)往這個(gè)密碼里撒一些“佐料”,然后再散列。而當(dāng)用戶登錄時(shí),系統(tǒng)為用戶提供的代碼撒上同樣的“佐料”,然后散列,再比較散列值,已確定密碼是否正確。

這里的“佐料”被稱作“Salt值”,這個(gè)值是由系統(tǒng)隨機(jī)生成的,并且只有系統(tǒng)知道。這樣,即便兩個(gè)用戶使用了同一個(gè)密碼,由于系統(tǒng)為它們生成的salt值不同,他們的散列值也是不同的。即便黑客可以通過(guò)自己的密碼和自己生成的散列值來(lái)找具有特定密碼的用戶,但這個(gè)幾率太小了(密碼和salt值都得和黑客使用的一樣才行)。

下面詳細(xì)介紹一下加Salt散列的過(guò)程。介紹之前先強(qiáng)調(diào)一點(diǎn),前面說(shuō)過(guò),驗(yàn)證密碼時(shí)要使用和最初散列密碼時(shí)使用“相同的”佐料。所以Salt值是要存放在數(shù)據(jù)庫(kù)里的。

2.ASP.NET Membership中的相關(guān)代碼

(省略關(guān)于Membership的介紹若干字)

本文Anders Liu僅研究了SqlMembershipProvider,該類位于System.Web.dll,System.Web.Security命名空間中。

首先,要使用Membership,必須先用aspnet_regsql.exe命令來(lái)配置數(shù)據(jù)庫(kù),該工具會(huì)向現(xiàn)有數(shù)據(jù)庫(kù)中添加一系列表和存儲(chǔ)過(guò)程等,配置好的數(shù)據(jù)庫(kù)中有一個(gè)表aspnet_Membership,就是用于存放用戶帳戶信息的。其中我們所關(guān)注的列有三個(gè)——Password、PasswordFormat和PasswordSalt。

Password存放的是密碼的散列值,PasswordFormat存放用于散列密碼所使用的算法,PasswordSalt就是系統(tǒng)生成的Salt值了。

3.小結(jié)

本文只是簡(jiǎn)單地介紹了加Salt散列的工作方式(而非原理)、ASP.NET Membership中對(duì)其的實(shí)現(xiàn)。通過(guò)本文大家雖然無(wú)法對(duì)加Salt加密的有點(diǎn)和原理“知其所以然”,但相信大家應(yīng)該大致了解了這種方式的使用方法,并能通過(guò)修改Membership的代碼實(shí)現(xiàn)自己的密碼散列存儲(chǔ)了。

由于時(shí)間有限,Anders Liu這篇文章寫得很潦草,羅列了不少代碼卻沒有系統(tǒng)性介紹,還望大家原諒。下一篇文章我將相對(duì)完整地介紹如何實(shí)現(xiàn)自己的用戶登錄(無(wú)需使用MembershipProvider,但同時(shí)也喪失了Login等控件為我們帶來(lái)的便利)。

上一篇:ASP.NET MVC中的統(tǒng)一化自定義異常處
下一篇:淺談Web開發(fā)與ASP.NET

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學(xué)校地址: 長(zhǎng)沙市天心區(qū)團(tuán)結(jié)路6號(hào)

Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有

湘ICP備14017520號(hào)-3

關(guān)注我們
在線咨詢
嘿,我來(lái)幫您!