數(shù)據(jù)庫系統(tǒng)原理 課件 第7章 數(shù)據(jù)安全_第1頁
數(shù)據(jù)庫系統(tǒng)原理 課件 第7章 數(shù)據(jù)安全_第2頁
數(shù)據(jù)庫系統(tǒng)原理 課件 第7章 數(shù)據(jù)安全_第3頁
數(shù)據(jù)庫系統(tǒng)原理 課件 第7章 數(shù)據(jù)安全_第4頁
數(shù)據(jù)庫系統(tǒng)原理 課件 第7章 數(shù)據(jù)安全_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第7章數(shù)據(jù)安全

數(shù)據(jù)安全模型

數(shù)據(jù)安全標(biāo)準(zhǔn)數(shù)據(jù)安全模型

數(shù)據(jù)安全控制用戶鑒別數(shù)據(jù)存取控制視圖審計(jì)與數(shù)據(jù)加密1數(shù)據(jù)保護(hù)為了更好的實(shí)現(xiàn)數(shù)據(jù)共享,DBMS必須提供完善的數(shù)據(jù)保護(hù)功能,以確保數(shù)據(jù)的安全可靠和正確有效。數(shù)據(jù)保護(hù):主要包括數(shù)據(jù)安全、數(shù)據(jù)完整、數(shù)據(jù)并發(fā)和數(shù)據(jù)恢復(fù)等。在確保數(shù)據(jù)的正確性和相容性的同時(shí),保護(hù)數(shù)據(jù)不會(huì)受到破壞和泄露,即使受到破壞,也能夠?qū)嵤┗謴?fù)。數(shù)據(jù)保護(hù)的安全性、完整性、并發(fā)性和恢復(fù)性等控制機(jī)制作為DBMS的主要子系統(tǒng),已經(jīng)成為衡量DBMS性能的重要指標(biāo)。27.1數(shù)據(jù)安全模型數(shù)據(jù)安全已經(jīng)發(fā)展成為一個(gè)主要研究領(lǐng)域,并且建立了相應(yīng)的安全標(biāo)準(zhǔn)。數(shù)據(jù)安全標(biāo)準(zhǔn)數(shù)據(jù)安全模型37.1.1數(shù)據(jù)安全標(biāo)準(zhǔn)4數(shù)據(jù)安全的常用標(biāo)準(zhǔn):《可信計(jì)算機(jī)系統(tǒng)評(píng)估準(zhǔn)則》和《可信數(shù)據(jù)庫解釋》TCSEC:可信計(jì)算機(jī)系統(tǒng)評(píng)估準(zhǔn)則;TrustedComputerSystemEvacuationCriteria,美國國防部(DepartmentofDefense,DoD)1985年頒布。TDI:可信數(shù)據(jù)庫解釋;TrustedDatabaseInterpretation,美國國家計(jì)算機(jī)安全中心(NationalComputerSecurityCenter,NCSC)1991年頒布。TDI和TCSEC按照四組七個(gè)等級(jí)(D(最小保護(hù));C1(自主存取保護(hù)),C2(受控存取保護(hù));B1(強(qiáng)制存取保護(hù)),B2(結(jié)構(gòu)化保護(hù)),B3(安全域);A1(驗(yàn)證設(shè)計(jì))),從安全策略、責(zé)任、保證和文檔等,詳細(xì)描述了數(shù)據(jù)安全的具體指標(biāo)。7.1.1數(shù)據(jù)安全標(biāo)準(zhǔn)5C1:初級(jí)的自主安全保護(hù)。實(shí)現(xiàn)用戶和數(shù)據(jù)的分離以及自主存取控制(DiscretionaryAccessControl,DAC),限制用戶權(quán)限。即:DAC使產(chǎn)品達(dá)到C1級(jí)。C2:安全產(chǎn)品的最低要求。受控的存取保護(hù),C2是C1級(jí)DAC的細(xì)化。即:改進(jìn)的DAC使產(chǎn)品達(dá)到C2級(jí)。B1:標(biāo)記安全保護(hù)。通過對(duì)數(shù)據(jù)加標(biāo)記,實(shí)施主體和客體的強(qiáng)制存取控制(MandatoryAccessControl,MAC),從而提供安全(Security)可信(Trusted)產(chǎn)品。即:MAC使產(chǎn)品達(dá)到B1級(jí)。7.1.2數(shù)據(jù)安全模型6完全穩(wěn)定的計(jì)算機(jī)系統(tǒng)(硬件和軟件)以及網(wǎng)絡(luò)環(huán)境是數(shù)據(jù)安全的基礎(chǔ)。計(jì)算機(jī)系統(tǒng)安全:為了保護(hù)計(jì)算機(jī)系統(tǒng)的硬件、軟件及其數(shù)據(jù),避免遭到偶然或自然、無意或有意的破壞或泄露,而采取的保護(hù)措施。內(nèi)容包括技術(shù)安全(核心)、管理安全和政策法律。技術(shù)安全:利用硬件和軟件的安全技術(shù),實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)及其數(shù)據(jù)的保護(hù),當(dāng)系統(tǒng)受到攻擊時(shí)仍能保證系統(tǒng)的正常運(yùn)行,確保數(shù)據(jù)不會(huì)受破壞和泄漏。數(shù)據(jù)安全模型如圖7.1所示。數(shù)據(jù)庫系統(tǒng)安全(DBMS)數(shù)據(jù)密碼存儲(chǔ)(DB)操作系統(tǒng)安全(OS)用戶標(biāo)識(shí)和鑒別(User)

7.1.2數(shù)據(jù)安全模型7安全模型工作原理:在訪問計(jì)算機(jī)系統(tǒng)時(shí),首先輸入鑒別用戶身份的用戶名和密碼,其次輸入訪問操作系統(tǒng)的帳號(hào)與密碼,然后再導(dǎo)入符合數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)的解密程序?qū)用軘?shù)據(jù)進(jìn)行解密,最后通過DBMS讀取訪問權(quán)限,對(duì)授權(quán)的數(shù)據(jù)庫進(jìn)行訪問。因此,通過數(shù)據(jù)安全模型的四層保護(hù),可以有效地保護(hù)數(shù)據(jù)的安全。7.2數(shù)據(jù)安全控制數(shù)據(jù)(庫)安全:保護(hù)數(shù)據(jù)庫防止非法使用造成的數(shù)據(jù)泄露、更改或破壞等。用戶鑒別數(shù)據(jù)存取控制視圖審計(jì)與數(shù)據(jù)加密87.2.1用戶鑒別9用戶鑒別:標(biāo)識(shí)和鑒別用戶身份。通常包括用戶標(biāo)識(shí)(唯一非空,DBA可見)、用戶名稱(可以空值,DBA可見)和用戶密碼(非空,用戶可見)等。用戶鑒別是最外層的安全保護(hù)。在用戶訪問數(shù)據(jù)時(shí),首先輸入用戶信息(例如:用戶標(biāo)識(shí)和密碼),然后進(jìn)行鑒別,通過后才能訪問數(shù)據(jù)。用戶鑒別方法:靜態(tài)鑒別和動(dòng)態(tài)鑒別等。7.2.1用戶鑒別10靜態(tài)鑒別:使用固定不變的用戶信息進(jìn)行身份鑒別。用戶標(biāo)識(shí)和名稱以顯式方式顯示,密碼則以隱式方式顯示(例如:顯示為“*”)。例如:客戶的用戶標(biāo)識(shí)和密碼分別為:C001和Car123。動(dòng)態(tài)鑒別:使用動(dòng)態(tài)可變的用戶信息進(jìn)行身份鑒別。用戶標(biāo)識(shí)和名稱以靜態(tài)顯式方式顯示,密碼則以動(dòng)態(tài)隱式方式顯示。動(dòng)態(tài)信息:使用預(yù)約的函數(shù)或算法生成的動(dòng)態(tài)可變的信息。即:首先提供一個(gè)隨機(jī)信息,然后根據(jù)預(yù)先約定的函數(shù)或算法進(jìn)行計(jì)算,最后根據(jù)運(yùn)算結(jié)果進(jìn)行用戶身份鑒別。7.2.1用戶鑒別11例7.1客戶的用戶標(biāo)識(shí)、姓名和密碼分別為:C006、李麗和Abc20617216。分析:客戶的用戶標(biāo)識(shí)和姓名使用靜態(tài)信息。用戶密碼則使用動(dòng)態(tài)信息,即:(1)提供一組隨機(jī)信息65,98和99,使用函數(shù)Asc2Char(),把隨機(jī)數(shù)據(jù)轉(zhuǎn)換為ASCII字符Abc。(2)獲取當(dāng)前日期的年、月和日17-2-16;獲取當(dāng)前時(shí)間的時(shí)和分20-6。(3)生成動(dòng)態(tài)密碼:Abc20617216。顯然,用戶密碼每一分鐘都在改變。7.2.1用戶鑒別12例7.2解釋如圖7.2所示的登錄界面中的驗(yàn)證碼。分析:用戶訪問網(wǎng)絡(luò)資源時(shí)所采用的登陸方式:用戶賬號(hào)+密碼+驗(yàn)證碼?;痉椒ǎ候?yàn)證碼是把隨機(jī)產(chǎn)生的多個(gè)數(shù)字或者字符組成的一串字符,生成一幅圖像,同時(shí)在圖像中加上噪聲(防止OCR識(shí)別),用戶用肉眼識(shí)別其中的驗(yàn)證碼信息,輸入登錄界面,提交網(wǎng)站驗(yàn)證,驗(yàn)證成功后才能使用網(wǎng)站資源。不難看出,驗(yàn)證碼一般是防止“黑客”利用機(jī)器人自動(dòng)批量注冊(cè)、或用特定程序暴力破解方式進(jìn)行不斷的登陸和灌水等。因?yàn)轵?yàn)證碼是一個(gè)混合了數(shù)字或者符號(hào)的噪聲圖像,人眼識(shí)別都很困難,機(jī)器識(shí)別就更加困難,從而起到安全保護(hù)的作用。7.2.1用戶鑒別13例7.2解釋如圖7.2所示的登錄界面中的驗(yàn)證碼。7.2.1用戶鑒別14SQLServer2016完全支持DAC和MAC控制,并提供了一整套完善的數(shù)據(jù)安全控制機(jī)制登錄服務(wù)器數(shù)據(jù)庫用戶數(shù)據(jù)庫角色1.登錄服務(wù)器15登錄:訪問數(shù)據(jù)庫,需要登錄到數(shù)據(jù)庫服務(wù)器。登錄服務(wù)器的用戶,必須是Windows合法用戶或SQLServer2016的合法用戶等。即:CREATELOGIN<登錄名>FROMWINDOWSCREATELOGIN<登錄名>WITHPASSWORD=<密碼>DROPLOGIN<登錄名>例如:把計(jì)算機(jī)Happyu-Zjsu中,Windows下的用戶WinTim轉(zhuǎn)換成為SQLServer登錄。CREATELOGIN[Happyu-Zjsu\WinTim]FROMWINDOWS例如:在服務(wù)器Happyu-Zjsu中,創(chuàng)建名稱為SqlTim,密碼為tim123的SQLServer登錄。CREATELOGIN[SqlTim]WITHPASSWORD='tim123'例如:在服務(wù)器Happyu-Zjsu中,刪除登錄Happyu-Zjsu\WinTim。DROPLOGIN[Happyu-Zjsu\WinTim]思考:舉例說明ALTERLOGIN的用法。2.數(shù)據(jù)庫用戶16登錄服務(wù)器后,如果需要訪問數(shù)據(jù)庫,還必須成為該數(shù)據(jù)庫用戶。數(shù)據(jù)庫用戶可以從Windows用戶、SQLServer登錄或角色映射過來。即:CREATEUSER<數(shù)據(jù)庫用戶>FORLOGIN<Win登錄名>CREATEUSER<數(shù)據(jù)庫用戶>FORLOGIN<Sql登錄名>DROPUSER<數(shù)據(jù)庫用戶>例7.3在服務(wù)器Happyu-Zjsu中,針對(duì)EBook,為Windows登錄WinTim創(chuàng)建名為WinTimer的數(shù)據(jù)庫用戶。同時(shí)為SQL登錄SqlTim創(chuàng)建名為SqlTimer的數(shù)據(jù)庫用戶,然后刪除數(shù)據(jù)庫用戶WinTimer。USEEBookCREATEUSERWinTimerFORLOGIN[Happyu-Zjsu\WinTim]CREATEUSERSqlTimerFORLOGINSqlTimDROPUSERWinTimer思考:舉例說明ALTERUSER的用法。3.數(shù)據(jù)庫角色17數(shù)據(jù)庫角色:為了更好地管理數(shù)據(jù)庫用戶,可以為多個(gè)同類的數(shù)據(jù)庫用戶創(chuàng)建一個(gè)角色,這樣可以通過給一個(gè)角色授權(quán),使得多個(gè)同類的數(shù)據(jù)庫用戶擁有相同的權(quán)限。即:CREATEROLE<數(shù)據(jù)庫角色>EXECSP_ADDROLEMEMBER<數(shù)據(jù)庫角色>,<數(shù)據(jù)庫用戶>EXECSP_DROPROLEMEMBER<數(shù)據(jù)庫角色>,<數(shù)據(jù)庫用戶>DROPROLE<數(shù)據(jù)庫角色>3.數(shù)據(jù)庫角色18例7.4在服務(wù)器Happyu-Zjsu中,針對(duì)EBook,創(chuàng)建包含的數(shù)據(jù)庫用戶WinTimer和SqlTimer的名為WinSqlRole數(shù)據(jù)庫角色,然后刪除數(shù)據(jù)庫角色WinSqlRole。USEEBookCREATEROLEWinSqlRoleEXECSP_ADDROLEMEMBER'WinSqlRole','WinTimer'EXECSP_ADDROLEMEMBER'WinSqlRole','SqlTimer'EXECSP_DROPROLEMEMBER'WinSqlRole','WinTimer'EXECSP_DROPROLEMEMBER'WinSqlRole','SqlTimer'DROPROLEWinSqlRole思考:舉例說明ALTERROLE的用法。7.2.2數(shù)據(jù)存取控制數(shù)據(jù)存取控制:在存取數(shù)據(jù)時(shí),需要確定用戶是否擁有訪問數(shù)據(jù)的權(quán)限,從而確保授權(quán)用戶對(duì)數(shù)據(jù)的合法訪問。主要包括:定義權(quán)限和檢查權(quán)限等。定義權(quán)限:為每個(gè)授權(quán)用戶,定義相應(yīng)的數(shù)據(jù)訪問權(quán)限,并寫入數(shù)據(jù)字典。檢查權(quán)限:在用戶發(fā)出存取數(shù)據(jù)請(qǐng)求時(shí),DBMS會(huì)檢查其訪問權(quán)限,如果合法,則接受訪問;否則拒絕訪問。數(shù)據(jù)存取控制方法:自主存取控制和強(qiáng)制存取控制等,從而使產(chǎn)品達(dá)到C2級(jí)和B1級(jí)。191.自主存取控制DAC20自主存取控制:給不同用戶授予/阻止/收回,對(duì)數(shù)據(jù)對(duì)象的存取權(quán)限。用戶權(quán)限由數(shù)據(jù)對(duì)象和操作類型等組成。即:定義用戶對(duì)數(shù)據(jù)對(duì)象的操作。數(shù)據(jù)對(duì)象:數(shù)據(jù)庫、表、屬性、視圖、索引以及數(shù)據(jù)字典中相關(guān)的模式對(duì)象等。操作類型:建立、修改、插入、刪除、查詢和“所有權(quán)限”等。在DAC中,用戶授權(quán)的數(shù)據(jù)對(duì)象范圍(即:授權(quán)粒度)越小,則授權(quán)子系統(tǒng)越靈活,但是定義權(quán)限和檢查權(quán)限的開銷也會(huì)增大;同理,用戶授權(quán)粒度越大,則授權(quán)子系統(tǒng)的靈活性會(huì)降低,但是定義權(quán)限和檢查權(quán)限比較簡單,系統(tǒng)開銷也較小。因此,授權(quán)粒度應(yīng)根據(jù)實(shí)際應(yīng)用進(jìn)行合理選取。而且DBMS支持多粒度控制,用戶權(quán)限可以使用多粒度進(jìn)行控制。提示:在DAC中,不同的用戶對(duì)于不同的數(shù)據(jù)對(duì)象可以擁有不同的存取權(quán)限,且用戶還可將其擁有的權(quán)限授權(quán)給其他用戶。2.強(qiáng)制存取控制MAC21因?yàn)镈AC的繼續(xù)授權(quán)功能降低了安全性,所以需要在DAC的基礎(chǔ)上引入許可證機(jī)制,通過驗(yàn)證許可證密級(jí),強(qiáng)制控制用戶的訪問權(quán)限。強(qiáng)制存儲(chǔ)控制:為了確保更高級(jí)別的數(shù)據(jù)安全保護(hù),根據(jù)TCSEC/TDI中安全策略的要求,所采取的強(qiáng)制存取檢查機(jī)制。MAC適用于數(shù)據(jù)安全要求嚴(yán)格,而且具有固定密級(jí)的部門。例如:軍事部門、政府部門和金融部門等。在MAC中,DBMS把管理對(duì)象分為主體和客體等。主體:系統(tǒng)的活動(dòng)實(shí)體。包括DBMS的用戶及其進(jìn)程。DBMS為主體的每個(gè)實(shí)例指派一個(gè)“許可證級(jí)別”??腕w:是受主體操縱的被動(dòng)實(shí)體。包括文件、表、索引、視圖等。DBMS為客體的每個(gè)實(shí)例指派一個(gè)密級(jí)。2.強(qiáng)制存取控制MAC22主體/客體的級(jí)別可以分為若干等級(jí)。例如:絕密(如:高考試卷);機(jī)密(如:新款汽車設(shè)計(jì)圖紙);可信(如:私人信件);公開(如:貸款利率公告)等。MAC通過比較主體的許可證級(jí)別和客體的密級(jí),確定主體能夠存取客體?主體訪問客體的基本規(guī)則:規(guī)則1:主體的許可證級(jí)別大于或者等于客體的密級(jí)。規(guī)則2:主體的許可證級(jí)別等于客體的密級(jí)。不難看出,規(guī)則2的比規(guī)則1安全性高。在MAC中,每個(gè)用戶均授權(quán)一個(gè)指定級(jí)別的許可證,每個(gè)數(shù)據(jù)對(duì)象均授權(quán)一個(gè)指定的密級(jí),對(duì)于任意一個(gè)數(shù)據(jù)對(duì)象,只有合法許可證級(jí)別的用戶才可以進(jìn)行存取。MAC是DBMS的內(nèi)部控制引擎(非用戶控制),所以MAC較DAC具有更高的安全性。3.合法的非法訪問控制23合法的非法訪問控制:用于控制合法用戶通過合法的算法和查詢,計(jì)算出未授權(quán)訪問的數(shù)據(jù),而采取的控制技術(shù)。合法的非法訪問的特點(diǎn):用戶操作合法,且通過合法操作,能導(dǎo)出不允許訪問的數(shù)據(jù)。例如:在銀行查詢中,如果允許查詢大于等于N(N>60)個(gè)人的存款總額,但是不允許查詢一個(gè)用戶的存款余額。則用戶Jim可以通過如下合法查詢得到Tom的銀行存款:(1)查詢Jim和選定N-1個(gè)人的存款余額S1。(2)查詢Tom和選定N-1個(gè)人的存款余額S2。因?yàn)镴im知道自己的存款P1,所以很容易算出Tom的存款P2=S2-S1+P1。3.合法的非法訪問控制24合法的非法訪問的控制技術(shù):(1)使用戶的查詢和算法費(fèi)用超過非法得到數(shù)據(jù)的價(jià)值。(2)破壞用戶查詢和推導(dǎo)未授權(quán)數(shù)據(jù)的條件。例如:在上例中,可以規(guī)定用戶的任意兩次查詢的相同數(shù)據(jù)不能超過M。不難證明:Jim至少經(jīng)過(N-2)/M+1次查詢,才可以知道Tom的存款。如果(N-2)/M+1的值很大,則Jim的查詢費(fèi)用會(huì)很高(查詢時(shí)間的代價(jià))。為了提高安全性,可以進(jìn)一步限制:每個(gè)用戶的查詢次數(shù)不能超過(N-2)/M次。4.SQLServer的權(quán)限控制25SQLServer2016支持授權(quán)GRANT、阻權(quán)DENY和收權(quán)REVOKE等權(quán)限控制。即:GRANT<權(quán)限>[ON<對(duì)象>]TO<用戶|角色|PUBLIC>[WITHGRANTOPTION]REVOKE<權(quán)限>[ON<對(duì)象>]FROM<用戶|角色|PUBLIC>其中:GRANT:把權(quán)限授權(quán)給用戶/角色。REVOKE:收回用戶/角色的權(quán)限。權(quán)限:SELECT、INSERT、UPDATE、DELETE、CREATEDATABASE、CREATERULE、CREATETABLE、CREATEVIEW、CREATEFUNCTION、CREATEPROCEDURE和ALL等權(quán)限。對(duì)象:數(shù)據(jù)庫和表(屬性)等。WITHGRANTOPTION:可以把獲得的授權(quán)繼續(xù)授予其他用戶。4.SQLServer的權(quán)限控制26例7.5完成如下授權(quán)和收權(quán):(1)把CREATETABLE和CREATEPROCEDURE授權(quán)給用戶WinTimer和SqlTimer。GRANTCREATETABLE,CREATEPROCEDURETOWinTimer,SqlTimer提示:含有CREATE權(quán)限的GRANT語句沒有ON選項(xiàng)。(2)把所有權(quán)限授權(quán)給用戶SqlTimer(不推薦使用)。GRANTALLTOSqlTimer(3)把對(duì)Book的查詢(讀?。?quán)限授權(quán)給角色WinSqlRole。GRANTSELECTONBookTOWinSqlRole(4)把對(duì)Cust的戶名、性別、生日的修改權(quán)限授權(quán)給用戶WinTimer。GRANTUPDATEONCust(CName,CSex,Birth)TOWinTimer(5)把對(duì)Book的查詢權(quán)限授權(quán)給SqlTimer,然后再把該權(quán)限授權(quán)給WinTimer。4.SQLServer的權(quán)限控制27GRANTSELECTONBookTOSqlTimerWITHGRANTOPTION--用SqlTim重新登錄SQLServer2016GRANTSELECTONBookTOWinTimer(6)把對(duì)EBook的所有定義的權(quán)限授權(quán)給WinTimer。GRANTCONTROLONDATABASE::EBookTOWinTimer(7)把對(duì)Book的查詢權(quán)限授權(quán)給所有用戶。GRANTSELECTONBookTOPUBLIC(8)收回WinTimer對(duì)Cust的戶名、性別、生日的修改權(quán)限。REVOKEUPDATEONCust(CName,CSex,Birth)FROMWinTimer思考1:如果收回了用戶A對(duì)數(shù)據(jù)對(duì)象X的指定權(quán)限,則能夠同時(shí)收回A授權(quán)的用戶對(duì)X的相應(yīng)指定權(quán)限嗎?思考2:舉例說明Deny的用法。7.2.3視圖28針對(duì)不同用戶,通常僅需要數(shù)據(jù)庫整體邏輯模型的局部數(shù)據(jù)(例如:用戶僅需要EBook中的戶名、書名和購買日期)。視圖是DBMS提供給用戶,從不同角度使用數(shù)據(jù)庫數(shù)據(jù)的有效手段。視圖的概念視圖的操作視圖的作用1.視圖的概念29視圖:利用查詢語句定義的,從一個(gè)或者多個(gè)表中導(dǎo)出的虛表。視圖對(duì)應(yīng)于數(shù)據(jù)庫模式結(jié)構(gòu)的外模式。在視圖中,只存放帶查詢語句的視圖定義,不存放視圖對(duì)應(yīng)的數(shù)據(jù);只有執(zhí)行視圖時(shí),才從表中導(dǎo)出相應(yīng)的數(shù)據(jù),因此視圖的數(shù)據(jù)仍存放在表中,且隨著表的變化而變化。即:視圖是數(shù)據(jù)庫整體邏輯模型的“局部數(shù)據(jù)”的“臨時(shí)”體現(xiàn)。1.視圖的概念30視圖特點(diǎn):(1)視圖是虛表。視圖本身僅僅是視圖定義,不包含具體的數(shù)據(jù)。(2)視圖數(shù)據(jù)是臨時(shí)數(shù)據(jù)。視圖的數(shù)據(jù)僅在執(zhí)行視圖時(shí),臨時(shí)從表中導(dǎo)出相應(yīng)的數(shù)據(jù);執(zhí)行結(jié)束,將自動(dòng)釋放,因此不會(huì)出現(xiàn)數(shù)據(jù)冗余。(3)視圖數(shù)據(jù)自動(dòng)更新。因?yàn)橐晥D數(shù)據(jù)是在執(zhí)行視圖時(shí),臨時(shí)從表中導(dǎo)出的數(shù)據(jù),所以如果表的數(shù)據(jù)發(fā)生了變化,則視圖數(shù)據(jù)會(huì)隨之改變。(4)利用視圖創(chuàng)建視圖。視圖既然是虛“表”,因此視圖一旦定義,就可以完全按照表的使用方法來使用視圖。即:視圖等價(jià)定義:利用查詢語句定義的,從表或視圖中導(dǎo)出的虛表。1.視圖的概念31視圖與表的區(qū)別:(1)概念不同。表是使用DDL定義的,以獨(dú)立文件的形式存儲(chǔ)在外存上的真實(shí)數(shù)據(jù)。而視圖則是利用查詢語句定義的,從表或視圖中導(dǎo)出的虛表。(2)數(shù)據(jù)有效期不同。表是擁有真實(shí)數(shù)據(jù)的實(shí)表,永遠(yuǎn)有效;而視圖則是只有查詢語句的沒有數(shù)據(jù)的虛表,在執(zhí)行視圖時(shí),才臨時(shí)有效。(3)數(shù)據(jù)存儲(chǔ)不同。表永久存儲(chǔ)在外存,而視圖中沒有數(shù)據(jù)。(4)更新方式不同。表可任意更新,而視圖不能任意更新,而是有條件更新。視圖與表的聯(lián)系:(1)視圖最終定義在表之上,視圖數(shù)據(jù)來自于表;表是視圖的基礎(chǔ),并為視圖提供數(shù)據(jù),如果表的結(jié)構(gòu)發(fā)生了改變,或者刪除了表,則相應(yīng)的視圖就會(huì)失去意義,因此需要修改或者刪除相應(yīng)的視圖。(2)對(duì)于最終用戶來說,視圖與表等價(jià)。即:視圖和表在用戶看來都是“表”,用戶完全可以按照表的使用方法來使用視圖,同時(shí)可以在視圖上定義視圖。2.視圖的操作32利用SQLServer2016的視圖機(jī)制,可以方便的進(jìn)行視圖的建立、刪除、查詢和更新等。(1)建立視圖:可以使用CREATEVIEW實(shí)現(xiàn)。CREATEVIEW<視圖名>[(<列名>[,<列名>]…)]ASSELECT語句[WITHCHECKOPTION]視圖名:視圖的名稱。2.視圖的操作33列名:視圖中屬性列的名稱。用于給查詢表達(dá)式或兩(多)個(gè)同名列進(jìn)行命名。如果未指定<列名>,則視圖列與SELECT中的屬性列同名。AS:視圖要執(zhí)行的操作。SELECT語句:多個(gè)表或視圖的復(fù)雜查詢。SELECT子句不能包括:COMPUTE或COMPUTEBY;ORDERBY(SELECT列中有TOP例外);INTO等。WITHCHECKOPTION:可選項(xiàng)。更新視圖必須符合SELECT中的條件。如果在SELECT中有TOP,則不能使用WITHCHECKOPTION。提示:使用WITHCHECKOPTION之后,如果對(duì)視圖進(jìn)行插入、修改或者刪除時(shí),DBMS會(huì)自動(dòng)檢測(cè)視圖定義中的條件,如果不滿足,則拒絕執(zhí)行操作,從而防止用戶通過視圖對(duì)數(shù)據(jù)進(jìn)行更新,在一定程度上保護(hù)了數(shù)據(jù)庫。2.視圖的操作34例7.6創(chuàng)建如下視圖:(a)建立每個(gè)出版社的銷售信息:PressInfo(PNo,PName,PCode,PAddr,Press.Phone,Press.EMail,HPage,BNo,BName,CNo,CName,PDate)CREATEVIEWPressInfoASSELECTPress.PNo,PName,PCode,PAddr,Press.Phone,Press.EMail,HPage,Book.BNo,BName,Cust.CNo,CName,PDateFROMPress,Book,Cust,BuyWHEREPress.PNo=Book.PNoANDBook.BNo=Buy.BNoANDCust.CNo=Buy.CNo思考:創(chuàng)建“浙江工商大學(xué)出版社”的銷售信息視圖。2.視圖的操作35例7.6創(chuàng)建如下視圖:(b)建立每本圖書的銷售信息:BookInfo(Book.BNo,BName,Author,EditNo,Price,PPrice,SPrice,PNo,PName,CNo,CName,PDate)CREATEVIEWBookInfoASSELECTBook.BNo,BName,Author,EditNo,Price,PPrice,SPrice,Press.PNo,PName,Cust.CNo,CName,PDateFROMPress,Book,Cust,BuyWHEREPress.PNo=Book.PNoANDBook.BNo=Buy.BNoANDCust.CNo=Buy.CNo思考:創(chuàng)建圖書“Access數(shù)據(jù)庫應(yīng)用”的銷售信息視圖。2.視圖的操作36(c)建立每位客戶的購買信息

CustInfo(CNo,CName,CSex,Birth,Cust.Phone,Marry,Photo,Cust.Email,PNo,PName,BNo,BName,PDate)并要求在進(jìn)行修插入、修改和刪除操作時(shí),只涉及數(shù)學(xué)系的學(xué)生。CREATEVIEWCustInfoASSELECTCust.CNo,CName,CSex,Birth,Cust.Phone,Marry,Photo,Cust.Email,Press.PNo,PName,Book.BNo,BName,PDateFROMPress,Book,Cust,BuyWHEREPress.PNo=Book.PNoANDBook.BNo=Buy.BNoANDCust.CNo=Buy.CNoWITHCHECKOPTION思考:創(chuàng)建客戶“李麗”的購買信息視圖。2.視圖的操作37(d)統(tǒng)計(jì)每位客戶購買圖書的戶號(hào)、戶名、本數(shù)、最低售價(jià)、最高售價(jià)、平均售價(jià)和購書總額的視圖。即:CustStatisBuy(CNo,CName,Number,MaxPrice,MinPrice,AvgPrice,SumPrice)CREATEVIEWCustStatisBuy(CNo,CName,Number,MaxPrice,MinPrice,AvgPrice,SumPrice)ASSELECTCust.CNo,CName,COUNT(*),MAX(SPrice),MIN(SPrice),AVG(SPrice),SUM(SPrice)FROMCust,Buy,BookWHERECust.CNo=Buy.CNoANDBook.BNo=Buy.BNoGROUPBYCust.CNo,CName思考:舉例說明ALTERVIEW的用法。2.視圖的操作38(2)刪除視圖:可以使用DROPVIEW實(shí)現(xiàn)。DROPVIEW<視圖>[,<視圖>…]例如:刪除視圖BookInfo和CustInfo。DROPVIEWBookInfo,CustInfo(3)查詢視圖因?yàn)橐晥D是“虛”表,所以完全可以使用SELECT對(duì)視圖進(jìn)行任意查詢。對(duì)視圖的查詢與對(duì)表的查詢完全一樣,且還可以對(duì)表和視圖進(jìn)行混合查詢。例7.7查詢購買圖書金額前三位的客戶的姓名、性別、生日、電話和金額。SELECTTOP3X.CName,CSex,Birth,Phone,SumPriceFROMCustX,CustStatisBuyYWHEREX.CNo=Y.CNoORDERBYSumPriceDESC2.視圖的操作39(4)更新視圖更新視圖是指通過視圖更新表的數(shù)據(jù)。對(duì)用戶來說,相當(dāng)于更新了視圖(其實(shí)不然)。根據(jù)視圖與表的關(guān)系,對(duì)視圖的更新,最終需要轉(zhuǎn)換為對(duì)表的更新,而且這種轉(zhuǎn)換有時(shí)是不可逆的,所以并非所有視圖都可以更新。更新視圖的條件如下:1)修改的視圖屬性必須直接“引用”表的屬性。不能是使用AVG、COUNT、SUM、MIN、MAX、STDEV、UNION、EXCEPT和INTERSECT等派生的表達(dá)式。2)修改的視圖屬性不受GROUPBY、HAVING、DISTINCT的影響。更新視圖可以使用INSERT、UPDATE和DELETE,按照對(duì)表的更新方法實(shí)現(xiàn)2.視圖的操作40例7.8利用Cust建立男客戶的信息為戶號(hào)、戶名和生日的視圖CustMale,并進(jìn)行如下操作:(a)插入客戶信息:(C008,白晶,男)和(C009,海軍)。(b)修改戶號(hào)為C008的戶名為:白磊。(c)刪除戶號(hào)為C009的元組。CREATEVIEWCustMaleASSELECTCNo,CName,CSex,DATEPART(YEAR,GETDATE())-DATEPART(YEAR,Birth)CAgeFROMCustWHERECSex='男'2.視圖的操作41例7.8利用Cust建立男客戶的信息為戶號(hào)、戶名和生日的視圖CustMale,并進(jìn)行如下操作:INSERTINTOCustMale(CNo,CName,CSex)VALUES('C008','白晶','男')INSERTINTOCustMale(CNo,CName)VALUES('C009','海軍')UPDATECustMaleSETCName='白磊'WHERECNo='C008'DELETEFROMCustMaleWHERESNo='C009'2.視圖的操作42思考1:如果對(duì)CustMale進(jìn)行查詢操作,是否可以查詢到“白晶”和“海軍”的記錄?為什么?思考2:對(duì)于DELETEFROMCustMaleWHERECNo='C009',是否刪除了戶號(hào)為C009的客戶?為什么?思考3:對(duì)于DELETEFROMCustMaleWHERECNo='C008',是否刪除了戶號(hào)為C008的客戶?為什么?3.視圖的作用43(1)簡化用戶操作。(2)清晰表達(dá)查詢。(3)同一數(shù)據(jù)可以以不同形式提供給不同用戶。(4)在一定程度上確保了數(shù)據(jù)安全。(5)在一定程度上提供了邏輯獨(dú)立性。(1)簡化用戶操作44如果用戶需要執(zhí)行針對(duì)多個(gè)表的多個(gè)條件的復(fù)雜查詢,則可以把其定義為一個(gè)視圖,從而把對(duì)多表多條件的復(fù)雜查詢,轉(zhuǎn)化為對(duì)視圖的簡單查詢。例7.9分別使用視圖和表,查詢購買圖書的本數(shù)在前20%的客戶的戶名和本數(shù)。(a)使用視圖。SELECTTOP20PERCENTCName,NumberFROMCustStatisBuyORDERBYNumberDESC(b)使用表。SELECTTOP20PERCENTCName,COUNT(*)NumberFROMCust,BuyWHERECust.CNo=Buy.CNoGROUPBYCust.CNo,CNameORDERBYNumberDESC分析:情況(b)是一個(gè)復(fù)雜的多表統(tǒng)計(jì)查詢;而情況(a)通過把多表復(fù)雜查詢定義成為一個(gè)視圖,則把(b)轉(zhuǎn)化成為一個(gè)簡單的單表(視圖)查詢。(2)清晰表達(dá)查詢45因?yàn)榛诙鄺l件多表的復(fù)雜查詢的復(fù)雜表示方法已經(jīng)被定義在視圖中,所以把復(fù)雜查詢的復(fù)雜表示方法,轉(zhuǎn)化為對(duì)視圖的簡單查詢,從而使用戶的查詢更加清晰、直觀和簡單。例7.10使用視圖和表,查詢購買圖書的金額在前3名的客戶的戶名和金額。(a)使用視圖。SELECTTOP3CName,SumPriceFROMCustStatisBuyORDERBYSumPriceDESC(b)使用表。SELECTTOP3CName,SUM(SPrice)SumPriceFROMCust,Buy,BookWHERECust.CNo=Buy.CNoANDBook.BNo=Buy.BNoGROUPBYCust.CNo,CNameORDERBYSumPriceDESC(3)同一數(shù)據(jù)可以以不同的形式提供給不同用戶46由于視圖是數(shù)據(jù)庫整體數(shù)據(jù)的局部數(shù)據(jù)的體現(xiàn),所以通過視圖可以使不同的用戶以不同的方式看待同一數(shù)據(jù),且可以以不同的形式使用同一數(shù)據(jù)。例7.11創(chuàng)建包含戶號(hào)、戶名、年齡、電話和購書本數(shù)等信息的男客戶視圖MCust和包含戶號(hào)、戶名、生日、婚否、電子郵箱和購書金額等女客戶視圖WCust。即:(1)MCust(CNo,CName,CAge,Phone,Number)。(2)WCust(CNo,CName,Birth,Marry,Email,SumPrice)。(3)同一數(shù)據(jù)可以以不同的形式提供給不同用戶47CREATEVIEWMCust(CNo,CName,CAge,Phone,Number)ASSELECTCust.CNo,Cust.CName,

DATEPART(YEAR,GETDATE())-DATEPART(YEAR,Birth),Phone,NumberFROMCust,CustStatisBuyWHERECust.CNo=CustStatisBuy.CNoCREATEVIEWWCustASSELECTCust.CNo,Cust.CName,Birth,Marry,Email,SumPriceFROMCust,CustStatisBuyWHERECust.CNo=CustStatisBuy.CNo(4)在一定程度上確保了數(shù)據(jù)安全48如果用戶的訪問權(quán)限是指定視圖,則用戶無權(quán)使用數(shù)據(jù)庫中的其它數(shù)據(jù),從而在一定程度上保護(hù)了數(shù)據(jù)庫中數(shù)據(jù)的安全。根據(jù)例7.11,不難看出:男客戶經(jīng)過授權(quán),只能使用MCust的戶號(hào)、戶名、年齡、電話和購書本數(shù),而無權(quán)使用EBook中的其它數(shù)據(jù);且年齡是由生日導(dǎo)出的數(shù)據(jù),購書本數(shù)是視圖CustStatisBuy中的數(shù)據(jù)。女客戶經(jīng)過授權(quán),只能使用WCust的戶號(hào)、戶名、生日、婚否、電子郵箱和購書金額,而無權(quán)使用EBook中的其它數(shù)據(jù);且購書金額是視圖CustStatisBuy中的數(shù)據(jù)。因此,在一定程度上確保了EBook的保密性和對(duì)EBook的保護(hù)。(5)在一定程度上提供了邏輯獨(dú)立性49如果數(shù)據(jù)庫的邏輯模型使用了N個(gè)關(guān)系,在設(shè)計(jì)完成之后發(fā)現(xiàn),邏輯模型達(dá)不到系統(tǒng)的范式要求,結(jié)果把N個(gè)關(guān)系分解成了M(>N)個(gè)關(guān)系;這時(shí)可以利用M個(gè)關(guān)系,創(chuàng)建N個(gè)視圖,用于代替原來的N個(gè)關(guān)系。例7.12在EBook中,如果邏輯模型使用的單表BInfo如下:BInfo(BNo,BName,Author,EditNo,Price,PPrice,SPrice,CNo,CName,CSex,Birth,CPhone,CEmail,Marry,Photo,PNo,PName,PCode,PAddr,PPhone,PEmail,HPage,PDate)。則為了使BInfo滿足系統(tǒng)的規(guī)范要求(即3NF),需要把BInfo分解為Book、Cust、Press和Buy。即:Book(BNo,BName,Author,PNo,EditNo,Price,PPrice,SPrice)Cust(CNo,CName,CSex,Birth,Phone,Marry,Photo,Email)Press(PNo,PName,PCode,PAddr,Phone,Email,HPage)Buy(CNo,BNo,PDate)如何利用Book、Cust、Press和Buy替代BInfo?(5)在一定程度上提供了邏輯獨(dú)立性50解決方法:首先利用Book、Cust、Press和Buy創(chuàng)建視圖BInfo;然后利用視圖BInfo替代“表BInfo”。即:CREATEVIEWBInfoASSELECTBook.BNo,BName,Author,EditNo,Price,PPrice,SPrice,Cust.CNo,CName,CSex,Birth,Cust.PhoneCPhone,Cust.EmailCEmail,Marry,Photo,

Press.PNo,PName,PCode,PAddr,Press.PhonePPhone,Press.EmailPEmail,HPage,PDateFROMPress,Book,Cust,BuyWHEREPress.PNo=Book.PNoANDBook.BNo=Buy.BNoANDCust.CNo=Buy.CNo(5)在一定程度上提供了邏輯獨(dú)立性51提示:視圖作為一種實(shí)用的外模式,在實(shí)際應(yīng)用中起到非常重要的作用。因此,在數(shù)據(jù)庫的邏輯模型(模式)發(fā)生改變時(shí),為了盡量保持?jǐn)?shù)據(jù)庫的外模式不受影響,可以通過定義視圖(外模式與模式映像)來實(shí)現(xiàn)一定程度上的變換控制,從而確保應(yīng)用程序不作修改或者只需作很小程度上的調(diào)整,最終在一定程度上提供了數(shù)據(jù)的邏輯獨(dú)立性。7.2.4審計(jì)與數(shù)據(jù)加密52審計(jì)和數(shù)據(jù)加密從兩個(gè)不同的角度保護(hù)了數(shù)據(jù)的安全。審計(jì)是C2級(jí)以上產(chǎn)品必須具備的安全保護(hù)機(jī)制,側(cè)重點(diǎn)是對(duì)數(shù)據(jù)訪問權(quán)限的檢查和監(jiān)督;數(shù)據(jù)加密則是對(duì)數(shù)據(jù)的比較底層的保護(hù),側(cè)重點(diǎn)在于對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)本身的加密,使數(shù)據(jù)轉(zhuǎn)換為不可識(shí)別的數(shù)據(jù)格式。1.審計(jì)53審計(jì)(Audit)主要用于監(jiān)視并記錄對(duì)數(shù)據(jù)庫的操作行為,實(shí)時(shí)智能地解析對(duì)數(shù)據(jù)庫的各種操作,并記入審計(jì)日志,以便日后進(jìn)行查詢、分析和過濾,實(shí)現(xiàn)對(duì)用戶操作的監(jiān)控和審查。審計(jì)是由DBA、審計(jì)員或?qū)徲?jì)程序,對(duì)訪問數(shù)據(jù)庫的操作進(jìn)行事前和事后的審查和監(jiān)督的過程。審計(jì)作為一種監(jiān)督機(jī)制,是為了查明有關(guān)數(shù)據(jù)庫操作的認(rèn)定與所授權(quán)的訪問權(quán)限之間的一致程度,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容,并將結(jié)果傳遞給有利害關(guān)系的用戶。審計(jì)在保護(hù)和評(píng)價(jià)系統(tǒng)的安全性方面起著十分重要的作用。審計(jì)可以監(jiān)控用戶對(duì)數(shù)據(jù)庫的表、視圖、存儲(chǔ)過程、函數(shù)、索引和觸發(fā)器等的創(chuàng)建、修改和刪除等,并精確分析每個(gè)操作。審計(jì)可以根據(jù)設(shè)置的規(guī)則,智能判斷違規(guī)操作數(shù)據(jù)庫的行為,并對(duì)違規(guī)行為進(jìn)行記錄和報(bào)警,為數(shù)據(jù)庫系統(tǒng)的安全運(yùn)行提供了有力保障。1.審計(jì)54審計(jì)的主要功能包括:(1)實(shí)時(shí)監(jiān)測(cè)并智能地分析和還原各種數(shù)據(jù)庫操作過程。(2)根據(jù)規(guī)則設(shè)定及時(shí)阻斷違規(guī)操作,保護(hù)重要的表和視圖等。(3)對(duì)數(shù)據(jù)庫系統(tǒng)漏洞、登錄帳號(hào)、登錄工具和數(shù)據(jù)操作過程的跟蹤,發(fā)現(xiàn)對(duì)數(shù)據(jù)庫系統(tǒng)的異常使用。(4)審計(jì)規(guī)則和審計(jì)查閱方式??梢詫?duì)登錄用戶、表名、字段名及關(guān)鍵字等進(jìn)行多條件組合的規(guī)則設(shè)定,形成靈活的審計(jì)策略。(5)提供包括記錄、報(bào)警、中斷和向網(wǎng)管系統(tǒng)報(bào)警等多種響應(yīng)措施。(6)審計(jì)日志管理。審計(jì)信息的查詢統(tǒng)計(jì)分析功能,生成專業(yè)化的審計(jì)報(bào)表。提示:審計(jì)很費(fèi)時(shí)間和空間,DBA可以根據(jù)應(yīng)用對(duì)安全性的要求,靈活地打開或關(guān)閉審計(jì)功能。審計(jì)事件主要包括:服務(wù)器事件、系統(tǒng)權(quán)限、語句事件和模式對(duì)象事件等。2.數(shù)據(jù)加密55數(shù)據(jù)加密是防止數(shù)據(jù)在存儲(chǔ)和傳輸中被破譯失密的有效手段,從而提高數(shù)據(jù)的安全性和保密性。數(shù)據(jù)加密技術(shù)是一種防止信息泄露的技術(shù)。數(shù)據(jù)加密是指根據(jù)預(yù)定的算法將原始數(shù)據(jù)(即:明文,Plaintext)變換為不可直接識(shí)別的結(jié)果數(shù)據(jù)(即:密文,Ciphertext)的過程。具體包括加密和解密。即:加密過程:通過加密算法和加密密鑰將明文轉(zhuǎn)變?yōu)槊芪?。解密過程:通過解密算法和解密密鑰將密文恢復(fù)為明文。密鑰:由數(shù)字、字母或特殊符號(hào)組成的字符串。用于控制數(shù)據(jù)加密和解密的過程。提示:通常公開加密算法,而不公開密鑰。顯然,用戶獲取密文后,如果不知道解密算法,則無法知道數(shù)據(jù)的具體內(nèi)容。2.數(shù)據(jù)加密56例7.12如果用戶得到的密文為“N(RNXX)DTZ*”,請(qǐng)解密該密文。分析:根據(jù)對(duì)密文的解析,不難看出,加密與解密的方法如下:加密方法:英文字母在字母表中,循環(huán)向后移5位,“括號(hào)”對(duì)應(yīng)“空格”,“星號(hào)”對(duì)應(yīng)“感嘆號(hào)”。解密方法:英文字母在字母表中,循環(huán)向前移5位,“括號(hào)”對(duì)應(yīng)“空格”,“星號(hào)”對(duì)應(yīng)“感嘆號(hào)”。所以,解密后的明文為“IMISSYOU!”。2.數(shù)據(jù)加密57常用的加密方法:替換方法、置換方法和混合方法等。(1)替換方法:使用密鑰(EncryptionKey)將明文中的每一個(gè)字符轉(zhuǎn)換為密文中的對(duì)應(yīng)字符。(2)置換方法:將明文的字符按不同的順序重新排列。(3)混合方法:同時(shí)使用替換方法和置換方法,進(jìn)行混合加密。混合加密在1977年定為美國官方的數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)。2.數(shù)據(jù)加密58DES工作原理:把明文分割成64位大小的塊,每個(gè)塊用64位密鑰進(jìn)行加密。每塊先用初始置換方法進(jìn)行加密,再連續(xù)進(jìn)行16次復(fù)雜的替換,最后再對(duì)其施用初始置換的逆。提示:密鑰由56位數(shù)據(jù)位和8位奇偶校驗(yàn)位組成,因此只有56位可能的密碼。第i步的替換不是直接利用原始的密鑰K,而是由K與i計(jì)算出的密鑰Ki。不難看出,數(shù)據(jù)加密系統(tǒng)通常是由明文、密文、算法和密鑰組成。發(fā)方通過加密算法,用加密密鑰將明文加密為密文后發(fā)出。收方收到密文后,通過解密算法,用解密密鑰將密文解密為明文。黑客即使竊取了數(shù)據(jù),也無法識(shí)別密文,從而保護(hù)了數(shù)據(jù)。2.數(shù)據(jù)加密59DES分為私鑰機(jī)制(如圖7.3所示)和公鑰機(jī)制(如圖7.4和7.5所示)等。明文密文密鑰加密密鑰解密明文密文私鑰加密公鑰解密明文密文公鑰加密私鑰解密圖7.3DES加密解密圖7.4RSA私鑰加密公鑰解密圖7.5RSA公鑰加密私鑰解密2.數(shù)據(jù)加密60私鑰機(jī)制:“加密算法+密鑰”和“解密算法+密鑰”均保密的DES。常用的方法是加密和解密使用相同的“加密算法+密鑰”(即:對(duì)稱加密)。例7.13如果明文為“ASKINGFISHERSCATCHFIRE”,加密密鑰為“ELIOT”,則加密算法如下:(1)把明文劃分為多個(gè)密鑰字符串長度大小的塊(+表示空格):AS+KINGFISHERS+CATCH+F

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論