在Visual FoxPro中使用低级文件函数加密表文件

2011-12-31 00:00:00陈磊
考试周刊 2011年85期


  摘 要: 在软件系统设计中经常需要对某些数据文件进行加密操作,如对保存用户名和密码的表文件进行加密,通过低级文件函数改写文件表头部分的文件指针位置可以达到加密的效果。但是仅仅考虑到文件加密是不够的,所以在系统运行的过程中也要有解密的过程。
  关键词: Visual Foxpro 低级文件函数 加密表文件 解密
  
  在软件系统设计中经常需要对某些数据文件进行加密操作,例如在某个实例系统中设计一个登录界面,该登录界面需要输入用户名和密码,而用户名和密码保存在一个名为“管理员.dbf”的数据表文件中。程序会自动打开“管理员.dbf”表文件,根据输入的用户名和密码搜索表中是否有匹配的记录,若有则登录成功,否则无法进入系统。
  那么如果保存用户名和密码的“管理员.dbf”表文件没有被加密,在VFP中一般数据表都可以通过USE命令随时被打开,则该登录界面就失去了意义,所以应该对“管理员.dbf”表文件进行加密,表被加密以后,不能通过USE命令打开,保证了表的安全性。
  通过低级文件函数改写文件表头部分的文件指针位置可以达到加密的效果。但是仅仅考虑到文件加密是不够的,在登录过程中需要使用“管理员.dbf”保存的用户名和密码进行搜索匹配,如果“管理员.dbf”被加密,则会因为无法打开“管理员.dbf”而不能执行登录过程。所以在系统运行的过程中也要有解密的过程,当登录过程结束后还应及时将“管理员.dbf”再加密。
  以我开发的监理人员查询系统为例,该系统菜单有一项为“显示所有记录”菜单,功能是显示“监理.dbf”中所有的人员信息,显示信息之前会调用“系统登录”表单,只有输入正确的用户名和密码才能显示所有人员信息,事先将“管理员.dbf”通过低级文件函数改写文件表头部分的文件指针位置进行加密,代码如下:
  dbfname=getfile(?謖db