- 相關(guān)推薦
基于Excel的數(shù)據(jù)加密方案的論文范文
[摘要] Excel是目前辦公系統(tǒng)以及實(shí)驗(yàn)數(shù)據(jù)處理中常用的應(yīng)用系統(tǒng)之一。大量重要的敏感數(shù)據(jù)被集中存放在文件里,數(shù)據(jù)的安全性是大多數(shù)用戶非常關(guān)切的。本文提出了幾種加密方案,并對(duì)它們的原理和使用方法做了詳細(xì)說(shuō)明。然后對(duì)各種加密方案安全性能方面進(jìn)行對(duì)比分析,為用戶在保護(hù)excel敏感數(shù)據(jù)方面提供了一些借鑒。
[關(guān)鍵詞] Excel 安全性 加密 分析
一、實(shí)現(xiàn)過(guò)程
1.基于Excel自身的加密。對(duì)于Excel文件,可認(rèn)為有工作簿組成,而工作簿由若干工作表組成。因此,基于Excel本身,可采取兩種保護(hù)方法:工作表保護(hù)和工作簿保護(hù)。
(1)工作表保護(hù)。點(diǎn)擊“工具”—>“保護(hù)”,—>“保護(hù)工作表”,可以設(shè)定密碼保護(hù)你的工作表,以防止自己無(wú)意的修改或他人未經(jīng)授權(quán)的修改。此功能可使非法用戶只能看到工作表內(nèi)容,但無(wú)法對(duì)文件進(jìn)行修改。如果用戶想在總體保護(hù)表的情況下對(duì)表的個(gè)別數(shù)據(jù)進(jìn)行修改,可在保護(hù)工作表之前,設(shè)置“單元格格式”-“保護(hù)”選項(xiàng),選擇鎖定或隱藏復(fù)選框。取消鎖定則在保護(hù)工作表之后仍可修改此區(qū)域數(shù)據(jù)。設(shè)置隱藏可使保護(hù)工作表之后,隱藏公式數(shù)據(jù)。
(2)工作簿保護(hù)。Excel為用戶提供了二種方式來(lái)保護(hù)工作薄。點(diǎn)擊“工具”—>保護(hù)”—>“保護(hù)工作簿”,可以設(shè)定密碼保護(hù)你的工作簿的結(jié)構(gòu)和窗口。保護(hù)“結(jié)構(gòu)”,是指工作簿中的工作表將不能進(jìn)行移動(dòng)、刪除、隱裁、取消隱跟或重新命名,不能插入新的工作表。保護(hù)“窗口”可以在打開(kāi)工作簿時(shí)保持窗口的固定位位置和大小。
上述兩種方法存在一些問(wèn)題:即在保護(hù)之后,非法用戶雖然無(wú)法修改文件內(nèi)容但仍能看到文件內(nèi)容,從而泄露重要數(shù)據(jù)。因此這兩種可認(rèn)為是對(duì)合法用戶(管理員)起到一定的防止誤操作的輔助手段,無(wú)法從根本保護(hù)數(shù)據(jù)不被泄露。
(3)文件口令保護(hù)。點(diǎn)擊“工具”—>“選項(xiàng)”,—>“安全性”可以設(shè)定打開(kāi)權(quán)限密碼或修改權(quán)限密碼保護(hù)你Excel文件。
設(shè)置打開(kāi)權(quán)限密碼之后,在沒(méi)有輸入正確的密碼之前,Excel將不允許用戶打開(kāi)這一Excel文件,從而也就無(wú)法看到文件內(nèi)容。設(shè)置修改權(quán)限密碼之后,在輸入打開(kāi)權(quán)限密碼后,Excel文件將繼續(xù)要求您輸入修改密碼,如果密碼無(wú)效,則只能以只讀方式打開(kāi)。但是這種方法打開(kāi)之后,如果做了修改,系統(tǒng)會(huì)提示你另存文件,另存之后,新的文件修改密碼自動(dòng)失效,打開(kāi)密碼仍起作用。
2.基于Excel文件的加密。鑒于采用上述方法使文件部分?jǐn)?shù)據(jù)能夠被非法用戶得到,我們采用對(duì)整個(gè)文件進(jìn)行加密,極大地增加了安全性,原理如下:整個(gè)系統(tǒng)有兩個(gè)模塊構(gòu)成,加密模塊encrypt和解密模塊decrypt。當(dāng)需要加密文件時(shí),命令格式為:encryptexcel文件名。當(dāng)需要解密文件時(shí),命令格式為:decryptexcel文件名。
加密原理為:假設(shè)文件原始內(nèi)容為M,用戶隨機(jī)選定一個(gè)密鑰為P,然后M和P異或運(yùn)算得到密文C。即:。
解密原理為:密文C和密鑰P異或運(yùn)算得到原始內(nèi)容。即:。
實(shí)際上,只要對(duì)加密文件再加一次密,即得原始文件,即只需一個(gè)加密模塊即可。
實(shí)現(xiàn)主要代碼如下:
#include
#include
void main(int argc,char *argv[])
{FILE *fp1,*fp2; //fp1:原始文件內(nèi)容;fp2:加密文件內(nèi)容。
if(argc!=3) exit(0);
if((fp1=fopen(argv[1],"rb"))==NULL)
{printf("Can not open the filen");
exit(0);}
fp2=fopen(argv[2],"wb");
while(!feof(fp1))
fputc(fgetc(fp1)^30,fp2);
fclose(fp1);
fclose(fp2);}
3.基于單元格的加密。在實(shí)際應(yīng)用中,我們有時(shí)并不需要加密所有數(shù)據(jù),如職工工資表,我們只需對(duì)工資數(shù)據(jù)等設(shè)計(jì)個(gè)人隱私的信息進(jìn)行加密,而諸如職工名、性別、籍貫等不敏感信息則不需要保護(hù)。在這種情況下,我們可將加密單位設(shè)計(jì)為單元格,從而更方便用戶的使用,并且加密更加安全具體。對(duì)于單元格的加密,我們采用VBA編程技術(shù)。比如,要對(duì)應(yīng)發(fā)工資這一項(xiàng)進(jìn)行加密保護(hù)。主要代碼如下:
Sub encrpt_pay()
Dim i As Integer
For i = 2 To 10‘加密數(shù)據(jù)所在的范圍
Range("E" + Format(i)) = Range("A" + Format(i)) Xor 32
Next
End Sub
這樣非法用戶看到的只是一些無(wú)實(shí)際意義的信息,從而保護(hù)了加密信息,如需解密,再執(zhí)行一次即可。對(duì)其他重要的信息方法類似。不再說(shuō)明。下一步,我們將考慮并設(shè)計(jì)更加安全并方便用戶使用的保護(hù)方案。
參考文獻(xiàn):
[1]張丹:喬春華.EXCEL工作表的保護(hù).內(nèi)蒙古科技與經(jīng)濟(jì).2004.22
[2]潭浩強(qiáng)編著.C程序設(shè)計(jì).清華大學(xué)出版社,1999
【基于Excel的數(shù)據(jù)加密方案的論文】相關(guān)文章:
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)加密電子商務(wù)論文10-08
關(guān)于計(jì)算機(jī)信息數(shù)據(jù)安全與加密研究的論文10-09
計(jì)算機(jī)信息數(shù)據(jù)的安全與加密技術(shù)論文10-09
基于旅游管理的時(shí)空數(shù)據(jù)模型研究論文10-08
計(jì)算機(jī)數(shù)據(jù)加密技術(shù)及運(yùn)用實(shí)踐探究論文10-09
數(shù)據(jù)加密技術(shù)中計(jì)算機(jī)安全應(yīng)用論文10-11
論計(jì)算機(jī)數(shù)據(jù)加密技術(shù)及運(yùn)用實(shí)踐論文10-09
計(jì)算機(jī)安全對(duì)數(shù)據(jù)加密技術(shù)的應(yīng)用論文10-09
計(jì)算機(jī)通信中DES數(shù)據(jù)加密算法應(yīng)用論文10-09
數(shù)據(jù)加密技術(shù)在網(wǎng)絡(luò)信息安全防護(hù)中的應(yīng)用論文10-08