淺談Visual FoxPro數(shù)據(jù)庫加密技術(shù)及其應(yīng)用
重慶市奉節(jié)職業(yè)教育中心 李慶森 2013/11/10 8:59:08
摘要:計算機語言的基本要素是變量、數(shù)據(jù)類型、表達式、控制結(jié)構(gòu)、過程和函數(shù)。TP6的操作方式有4類,菜單和工具操作只是一種交互方式,要完成更復(fù)雜的任務(wù),必須學(xué)會命令操作和程序操作,這就要學(xué)VFP語言。本文主要探討Visual FoxPro數(shù)據(jù)庫技術(shù)及應(yīng)用。
關(guān)鍵詞:Visual FoxPro;數(shù)據(jù)庫技術(shù);加密
VFP6.0除了繼承較早版本的功能以外,有許多新的特點。例如,全面采用面向?qū)ο蟮木幊碳夹g(shù),使之成為在Windows環(huán)境下開發(fā)小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的有力工具;在客戶/服務(wù)器應(yīng)用程序中,VFP6又是一個理想的前端開發(fā)工具;它還為用戶組織信息、運行查詢、創(chuàng)建集成的關(guān)系型數(shù)據(jù)庫系統(tǒng)以及為最終用戶編寫功能全面的數(shù)據(jù)管理應(yīng)用程序提供所有的工具[1]。
1.Visual FoxPro數(shù)據(jù)庫概述
例如,利用項目管理器(PROJECT MANAGER)可以建立數(shù)據(jù)庫、表、表單、查詢及報表等。當(dāng)需要時,只要打開項目管理器,就可以直接從中讀取,而不必從磁盤上搜索。通過向?qū)?WIZABDS)提供的許多功能強大的控件,不用編程就可以創(chuàng)建應(yīng)用程序界面。利用生成器(BUILDERS)用戶可以簡化創(chuàng)建和修改用戶界面程序的設(shè)計過程,提高軟件開發(fā)的質(zhì)量。每個生成器都由一系列選項卡組成,允許用戶訪問并設(shè)置所選對象的屬性。用戶可以將生成器生成的用戶界面直接轉(zhuǎn)換成程序代碼,把用戶從逐條編寫、反復(fù)調(diào)試程序的工作中解放出來。
作為一個完善的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)的保密性設(shè)置是非常重要的,Visual FoxPro沒有Access那樣提供了密碼訪問的功能,不過可以通過破壞存儲格式的方法,可以達到對數(shù)據(jù)庫所有數(shù)據(jù)表進行加密的目的[2]。
2.Visual FoxPro數(shù)據(jù)庫的加密技術(shù)
Visual FoxPro將數(shù)據(jù)按照指定格式存放到以“.DBF”為擴展名的文件系統(tǒng)中,如果破壞了此種文件的存儲格式,Visual FoxPro就無法將其打開,即達到了加密的目的。根據(jù)這個原理,當(dāng)數(shù)據(jù)庫系統(tǒng)要關(guān)閉時,系統(tǒng)將數(shù)據(jù)庫中所有數(shù)據(jù)表都以低級文件格式打開,然后通過一個密鑰對文件中每個字符進行異或運算。異或運算最大的一個特點就是A^B^B=A,也就是說,當(dāng)對同一個數(shù)進行兩次異或運算時,結(jié)果還是這個數(shù)。當(dāng)系統(tǒng)再次登錄時,便可以通過對已經(jīng)加密的數(shù)據(jù)庫文件進行異或運算的方法進行解密。解密后的文件是可以通過Visual FoxPro進行訪問的。
服務(wù)端到接入設(shè)備的數(shù)據(jù)收發(fā)使用標(biāo)準(zhǔn)的TELNET協(xié)議實現(xiàn),連接雙方都需要實現(xiàn)物理終端到NVT的數(shù)據(jù)轉(zhuǎn)換。通信兩端數(shù)據(jù)均以7bit的ASCII字符集發(fā)送,但發(fā)送格式為8bit,最高位直接置為0。TELNET通信雙方使用帶內(nèi)信令方式,如果收到0x255(IAC)則表示接下來的數(shù)據(jù)作為命令來解釋。如果需要發(fā)送數(shù)據(jù)255,則必須連續(xù)發(fā)送兩個255字節(jié)。在初始化選項協(xié)商過程中,會出現(xiàn)四種協(xié)商狀態(tài):
WILL:發(fā)送方自身將激活選項,回應(yīng)DO為接受,回應(yīng)DONT為拒絕。
DO:發(fā)送方想讓接收端激活選項,回應(yīng)WILL為接受,回應(yīng)WONT為拒絕。
WONT:發(fā)送方自身想禁止選項,對方必須回應(yīng)DONT以同意禁止行為。
DONT:發(fā)送方想讓接收端禁止選項,對方必須回應(yīng)WONT以同意禁止行為。
對于DO和WILL選項,接收方有權(quán)同意會拒絕。但對于WONT和DONT,接收方必須同意。選項協(xié)商需要3個字節(jié):第一個是IAC字節(jié),第二個是WILL、DO、WONT、DONT之一,最后一個字節(jié)是啟用或禁止的選項。協(xié)商過程是對稱的,也就是說通信雙方都可以發(fā)起協(xié)商請求。但對于子選項的協(xié)商,則不僅僅是同意或拒絕所能表示的。例如制定終端類型,為了處理這種選項,必須定義子選項協(xié)商。
在SNMP接口設(shè)計方面,SNMP協(xié)議是目前用來對網(wǎng)絡(luò)設(shè)備進行控制管理的一種主要方式,SNMP遵循了代理和管理站模型。對于SNMP代理來說,它能夠回答來自于SNMP管理站如網(wǎng)管系統(tǒng)的關(guān)于MIB庫中定義的信息的查詢及修改。本系統(tǒng)使用出了可以使用TELNET協(xié)議對接入層網(wǎng)絡(luò)設(shè)備進行控制之外,也可以使用SNMP協(xié)議對網(wǎng)絡(luò)設(shè)備進行更有效的控制[3]。
3. Visual FoxPro數(shù)據(jù)庫的應(yīng)用
表現(xiàn)層負責(zé)向用戶提供交互界面。控制層主要同數(shù)據(jù)庫和網(wǎng)絡(luò)設(shè)備進行交互,其中設(shè)備控制部分負責(zé)向接入網(wǎng)絡(luò)設(shè)備發(fā)送控制指令并將操作存入數(shù)據(jù)庫中,日志分析部分負責(zé)對接入設(shè)備發(fā)送的日志進行分析,分析結(jié)果存入數(shù)據(jù)庫,對攻擊主機的隔離與解除隔離指令則發(fā)送給設(shè)備控制部分,從而實現(xiàn)對設(shè)備的控制聯(lián)動。系統(tǒng)整體架構(gòu)如圖1所示:
圖1 安全防護結(jié)構(gòu)(未完,下一頁)
|