在vb下access数据库密码的安全设置..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在vb下access数据库密码的安全设置.

在VB下Access数据库密码的安全设置.txt-//自私,让我们只看见自己却容不下别人。如果发短信给你喜欢的人,他不回,不要再发。看着你的相片,我就特冲动的想P成黑白挂墙上!有时,不是世界太虚伪,只是,我们太天真。在VB下Access数据库密码的安全设置 宁德琼 (曲靖师范学院计算机科学与工程学院) 摘要:本文从VB程序设计的角度探讨了Access数据库密码的保存方式及密码本身加码、解码的安全问题,以确保数据的完整性和安全性。 关键词:VB Access 密码 中图分类号:TP311.11 文献标识码:A 0 引言  Access 数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,它界面友好、操作简单,是开发中小型数据库应用系统的常用平台,以其功能全面、程序设计方便等特点得到了广泛应用。但是随着Access数据库的广泛应用,对其安全性的需求也越来越高,而数据库的安全主要体现在数据的安全传送与安全存储,而数据的传送与存储大多数都是通过对数据本身的加密来实现的;所以,加密和解密问题也就成为Access数据库安全的首要问题。 1 Access密码的安全隐患 1.1 Access 数据库的存储隐患 Access 数据库的安全隐患第一就是密码的保存问题,将密码放在程序中和文件中,如果获得或者猜到Access据库的存储路径和数据库名,则该数据库就可以被下载到本地[1]。例如:对于校园网上的一个图书查询的Access数据库,人们一般命名为book.mdb、Library而存储的路径一般为 “URL/database”或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址: “URL/database/Library.mdb”,就可以轻易地把sLibrary.mdb下载到本地的机器中。 1.2 Access 数据库的解密隐患 Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易. 该数据库系统通过将用户输入的密码与某一固定密钥进行“异或”来形成一个加密串,并将其存储在*.mdb 文件中从地址“&H42”开始的区域内. 由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码.基于这种原理,可以很容易地编制出解密程序[2]。由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。 2 在VB中提高Access 数据库安全性的方法 在VB中,通过编程来解决数据库中密码的安全问题,通过VB中的API函数来将密码保存到注册表中,以实现用户合法性检验的方法;同时对密码进行加密和解密。 2.1 利用API函数在注册表中进行密码操作 从以上分析密码存储的隐患来看,密码保存在程序和文件中,安全性能较差;如果考虑将密码存入注册表中,通过对注册表的操作,可以将密码随便放到注册表的什么地方;要想找到密码字符可谓大海捞针。 VB为用户提供了4个用于注册表操作的函数 SaveSetting、GetSetting、GetAllSettings和DeleteSeting,使用这四个函数可以方便地操作注册表。通过函数GetString()将注册表项的值赋值给字符变量M,窗体装入程序段中的M= GetSetting(HKEY_CURRENT_USER,”RegData\AA”,””)语句。当用户输入密码后进行核对,如果输入的密码与M中相同则为合法用户,登录成功。当窗体装入时调用GetString函数,在GetString函数中调用API函数RegOpenKey打开指定表项,打开指定表项后,调入函数RegQueryStringValue,在RegQueryStringValue函数中首先调用API函数 RegQueryValueEx hKey,以得到项值空间的大小;调用VB的String函数将变量lDataBufSize按其大小设为CHR$(0);对所得键值去掉右侧空字符并将结果赋值给函数名为 RegQueryStringValue,程序返回到它的调用之处,GetString函数操作完毕将键值赋给变量M,即可等到保存在注册表中的密码[3]。主要程序如下: Function GetString(hKey As Long, strPath As String, strValue As String) Dim Ret RegOpenKey hKey, strPath, Ret

文档评论(0)

425300 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档