欢迎来到学术参考网

基于Excel的数据加密方案

发布时间:2015-07-06 10:51
[摘要] excel是目前办公系统以及实验数据处理中常用的应用系统之一。大量重要的敏感数据被集中存放在文件里,数据的安全性是大多数用户非常关切的。本文提出了几种加密方案,并对它们的原理和使用方法做了详细说明。然后对各种加密方案安全性能方面进行对比分析,为用户在保护excel敏感数据方面提供了一些借鉴。
  [关键词] excel 安全性 加密 分析
  
  一、实现过程
  1.基于excel自身的加密。对于excel文件,可认为有工作簿组成,而工作簿由若干工作表组成。因此,基于excel本身,可采取两种保护方法:工作表保护和工作簿保护。
  (1)工作表保护。点击“工具”—>“保护”,—>“保护工作表”,可以设定密码保护你的工作表,以防止自己无意的修改或他人未经授权的修改。此功能可使非法用户只能看到工作表内容,但无法对文件进行修改。如果用户想在总体保护表的情况下对表的个别数据进行修改,可在保护工作表之前,设置“单元格格式”-“保护”选项,选择锁定或隐藏复选框。取消锁定则在保护工作表之后仍可修改此区域数据。设置隐藏可使保护工作表之后,隐藏公式数据。
  (2)工作簿保护。excel为用户提供了二种方式来保护工作薄。点击“工具”—>保护”—>“保护工作簿”,可以设定密码保护你的工作簿的结构和窗口。保护“结构”,是指工作簿中的工作表将不能进行移动、删除、隐裁、取消隐跟或重新命名,不能插入新的工作表。保护“窗口”可以在打开工作簿时保持窗口的固定位位置和大小。
  上述两种方法存在一些问题:即在保护之后,非法用户虽然无法修改文件内容但仍能看到文件内容,从而泄露重要数据。因此这两种可认为是对合法用户(管理员)起到一定的防止误操作的辅助手段,无法从根本保护数据不被泄露。
  (3)文件口令保护。点击“工具”—>“选项”,—>“安全性”可以设定打开权限密码或修改权限密码保护你excel文件。
  设置打开权限密码之后,在没有输入正确的密码之前,excel将不允许用户打开这一excel文件,从而也就无法看到文件内容。设置修改权限密码之后,在输入打开权限密码后,excel文件将继续要求您输入修改密码,如果密码无效,则只能以只读方式打开。但是这种方法打开之后,如果做了修改,系统会提示你另存文件,另存之后,新的文件修改密码自动失效,打开密码仍起作用。
  2.基于excel文件的加密。鉴于采用上述方法使文件部分数据能够被非法用户得到,我们采用对整个文件进行加密,极大地增加了安全性,原理如下:整个系统有两个模块构成,加密模块encrypt和解密模块decrypt。当需要加密文件时,命令格式为:encryptexcel文件名。当需要解密文件时,命令格式为:decryptexcel文件名。
  加密原理为:假设文件原始内容为m,用户随机选定一个密钥为p,然后m和p异或运算得到密文c。即:。
  解密原理为:密文c和密钥p异或运算得到原始内容。即:。
  实际上,只要对加密文件再加一次密,即得原始文件,即只需一个加密模块即可。


  实现主要代码如下:
  #include
  #include
  void main(int argc,char *argv[])
  {
  file *fp1,*fp2; //fp1:原始文件内容;fp2:加密文件内容。
  if(argc!=3) exit(0);
  if((fp1=fopen(argv[1],"rb"))==null)
  {
  printf("can not open the file\n");
  exit(0);
  }
  fp2=fopen(argv[2],"wb");
  while(!feof(fp1))
   fputc(fgetc(fp1)^30,fp2);
  fclose(fp1);
  fclose(fp2);
  }
  3.基于单元格的加密。在实际应用中,我们有时并不需要加密所有数据,如职工工资表,我们只需对工资数据等设计个人隐私的信息进行加密,而诸如职工名、性别、籍贯等不敏感信息则不需要保护。在这种情况下,我们可将加密单位设计为单元格,从而更方便用户的使用,并且加密更加安全具体。对于单元格的加密,我们采用vba编程技术。比如,要对应发工资这一项进行加密保护。主要代码如下:
  sub encrpt_pay()
  dim i as integer
  for i = 2 to 10‘加密数据所在的范围
  range("e" + format(i)) = range("a" + format(i)) xor 32
  next
  
  end sub
  这样非法用户看到的只是一些无实际意义的信息,从而保护了加密信息,如需解密,再执行一次即可。对其他重要的信息方法类似。不再说明。下一步,我们将考虑并设计更加安全并方便用户使用的保护方案。
  
  参考文献:
  [1]张丹:乔春华.excel工作表的保护.内蒙古科技与经济.2004.22
  [2]潭浩强编著.c程序设计.清华大学出版社,1999

上一篇:虚拟商品三维展示系统的设计

下一篇:Web的医学教学资源库的设计与实现