《用戶權(quán)限管理》PPT幻燈片_第1頁(yè)
《用戶權(quán)限管理》PPT幻燈片_第2頁(yè)
《用戶權(quán)限管理》PPT幻燈片_第3頁(yè)
《用戶權(quán)限管理》PPT幻燈片_第4頁(yè)
《用戶權(quán)限管理》PPT幻燈片_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1,本講內(nèi)容,權(quán)限管理的實(shí)現(xiàn)思路,.NET框架編程技術(shù),Windows應(yīng)用程序中 用戶權(quán)限管理的實(shí)現(xiàn),6,主講:屠添翼,案例:高校教學(xué)管理系統(tǒng),用戶密碼加密存儲(chǔ),2,在Windows應(yīng)用程序中能夠完成用戶權(quán)限管理的設(shè)計(jì)與開(kāi)發(fā)。,教學(xué)目標(biāo),教學(xué)重點(diǎn),教學(xué)難點(diǎn),鹽值和散列 多層實(shí)體,權(quán)限管理實(shí)現(xiàn)的思路 用戶密碼加密存儲(chǔ),3,一、權(quán)限管理的實(shí)現(xiàn)思路,用戶 角色 權(quán)限,4,-角色-,管理員 來(lái)自教師資料 教務(wù)人員 來(lái)自教師資料 教師 來(lái)自教師資料 學(xué)生 來(lái)自學(xué)生資料,5,-權(quán)限-,教師資料管理查詢(0)、管理(1) 學(xué)生資料管理查詢(2)、管理(3) 課程資料管理查詢(4)、管理(5) 教學(xué)任務(wù)分配查

2、詢(6)、管理(7) 教學(xué)計(jì)劃安排查詢(8)、管理(9) 考試成績(jī)管理查詢(10)、錄入(11)、修改(12) 用戶權(quán)限管理查詢(13)、管理(14) 數(shù)據(jù)備份 備份(15)、還原(16),6,-角色權(quán)限-,教師資料管理查詢(0)、管理(1) 學(xué)生資料管理查詢(2)、管理(3) 課程資料管理查詢(4)、管理(5) 教學(xué)任務(wù)分配查詢(6)、管理(7) 教學(xué)計(jì)劃安排查詢(8)、管理(9) 考試成績(jī)管理查詢(10)、錄入(11)、修改(12) 用戶權(quán)限管理查詢(13)、管理(14) 數(shù)據(jù)備份 備份(15)、還原(16),7,三個(gè)狀態(tài),1:允許項(xiàng) 0:可選項(xiàng) -1:禁止項(xiàng),8,數(shù)據(jù)庫(kù)結(jié)構(gòu),9,10,二

3、、用戶密碼加密存儲(chǔ),思考: 大多數(shù)開(kāi)發(fā)人員使用數(shù)據(jù)庫(kù)存儲(chǔ)密碼,如果密碼直接以明文的形式存放在數(shù)據(jù)庫(kù)中,則系統(tǒng)很不安全。,11,散列,散列簡(jiǎn)介 散列(Hash)是一種單向算法,一旦數(shù)據(jù)被轉(zhuǎn)換,將無(wú)法再獲得其原始值。 可以使用散列算法對(duì)密碼進(jìn)行加密,然后再將其存儲(chǔ)在數(shù)據(jù)庫(kù)中。 思考:驗(yàn)證用戶密碼的流程是怎樣?,12,散列,用戶輸入密碼后,可以再次使用散列算法對(duì)其進(jìn)行轉(zhuǎn)換,然后將其與存儲(chǔ)在數(shù)據(jù)庫(kù)中的散列進(jìn)行比較。,13,散列,散列的特點(diǎn)之一是,即使原始數(shù)據(jù)只發(fā)生一個(gè)小小的改動(dòng),數(shù)據(jù)的散列也會(huì)發(fā)生非常大的變化。Rickie 和 Ricky 這兩個(gè)單詞非常相似,但使用散列算法加密后的結(jié)果卻相差甚遠(yuǎn)。你可

4、能根本看不出二者之間有什么相似之處。,14,散列,.NET 開(kāi)發(fā)人員可以使用多種散列算法類。最常用的是 SHA1 和 MD5。下面我們看一下如何為Rickie這樣的普通字符串生成散列,使任何人都無(wú)法識(shí)別它。,15,(1)使用 SHA1 生成散列,byte bytePassword = null; / 創(chuàng)建新的加密服務(wù)提供程序?qū)ο?SHA1 sha1 = SHA1.Create(); / 將原始字符串轉(zhuǎn)換成字節(jié)數(shù)組,然后計(jì)算散列,并返回一個(gè)字節(jié)數(shù)組 bytePassword = sha1.ComputeHash(Encoding.Unicode.GetBytes(Rickie); / 釋放資源

5、sha1.Clear(); / 返回散列值的Base64 編碼字符串 Console.WriteLine( Convert.ToBase64String(bytePassword);,16,如此可見(jiàn),輸入字符串的一個(gè)小小變化就會(huì)產(chǎn)生完全不同的字符組合。這正是散列算法之所以有效的原因,它使我們很難找到輸入字符串的規(guī)律,也很難根據(jù)加密后的字符弄清楚字符串原來(lái)的模樣。,17,(2)使用MD5也可以生成散列,byte bytePassword = null; string tmpPassword = txtPassword.Text.Trim(); MD5 md5 = MD5.Create(); by

6、tePassword = md5.ComputeHash(Encoding.Unicode.GetBytes(tmpPassword); / Releases all resources used by the System.Security.Cryptography.HashAlgorithm. md5.Clear(); txtResults.Text = Convert.ToBase64String(bytePassword);,18,思考:,如果兩個(gè)用戶碰巧使用相同的密碼,那么散列值將完全相同。如果黑客看到您存儲(chǔ)密碼的表格,會(huì)從中找到規(guī)律并明白您很可能使用了常見(jiàn)的詞語(yǔ),然后黑客會(huì)開(kāi)始詞典

7、攻擊以確定這些密碼。,19,要確保任何兩個(gè)用戶密碼的散列值都不相同,一種方法是在加密密碼之前,在每個(gè)用戶的密碼中添加一個(gè)唯一的值。這個(gè)唯一值稱為“鹽”值(Salt)。 思考:在驗(yàn)證密碼時(shí),如何得到這個(gè)“鹽”值。,20,生成salt值,byte saltValue = new bytesaltLength; RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); /用加密型強(qiáng)隨機(jī)字節(jié)填充的數(shù)組 rng.GetBytes(saltValue);,21,byte rawSalted = new byteunsaltedPasswo

8、rd.Length + saltValue.Length; unsaltedPassword.CopyTo(rawSalted,0); saltValue.CopyTo(rawSalted,unsaltedPassword.Length); SHA1 sha1 = SHA1.Create(); byte saltedPassword = sha1.ComputeHash(rawSalted); byte dbPassword = new bytesaltedPassword.Length + saltValue.Length; saltedPassword.CopyTo(dbPassword,0); saltValue.CopyTo(dbPassword,saltedPassword.Length);,22,password,unsalted Password,SHA1,saltValue,rawSalted,Salted Password,dbPassword,隨機(jī)生成,合并,合并,SHA1,20,24,4,20,24,密碼生成,23,密碼驗(yàn)證,password,unsalted Password,SHA1,saltValue,Sa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論