海力源码logo图片
400电话图片
热门关键词:  响应式网站    设计网站    营销型网站   
源码资讯
当前位置:首页 > 源码资讯 > 在Access 2007中保护Access密码和进行加密

在Access 2007中保护Access密码和进行加密

资讯来源:海力源码    点击次数:176    更新时间:2022-9-9 15:37:04

MicrosoftAccess2007推出了一个用于存储Access数据库信息的新的文件格式。这个文件格式可以由任何以.ACCDB结尾的文件识别。虽然Microsoft Access2007仍然支持.MDB的文件类型,但是未来的Access将围绕.ACCDB格式来建立。

.ACCDB格式最显著的一个改变是一个新的加密方法,它是基于数据库密码的。这个改变是一个非常显著的安全改进,因为加密的ACCDB数据库是(理论上)足够强大,它们只可以使用非常强大的密码恢复才能破解。当然,如同所有的安全一样,如果许多人以同样方式来进行,那么这个风险要高得多,因为有人将得出怎样破坏这个安全。这无疑将适用于加密一个Access 2007数据库,因为使用的默认加密算法是40位密钥的RC4,它没有达到它所能达到的那么强大。在这篇文章里,将向你展示怎样使得你的密码加密数据库比标准的ACCDB加密更加安全。

这个加密是什么以及为什么它很重要

Access 2007以块——也就是页面的形式读取和写入到.ACCDB文件。这些页面的大小是固定的:4096字节。加密是发生在页面级别的,为了使事情变得简单(以及考虑性能原因),加密的页面必须也是4096字节。在ACCDB中,每个加密 的“页面”有一个唯一键,它是从一个密码哈希(它包含随机基础数据)获得的。这是非常重要的,因为现在数据库密码不再存储在这个文件中(不像之前的版本)。这个方法意味着只有强力密码恢复才有可能。

另外,默认加密只使用40位密钥,这确实使得它差一些,但是幸运的是这可以提高到128位加密。在本文中会介绍如何做到这一点。

在你开始加密之前

你可能会在读一篇关于数据库的文章时,会急于在你所使用的数据库上进行尝试。在这个例子中,请不要这么做;使用这篇文章所带的数据库,并在一个不含有任何其它数据库的文件夹下进行试验。当你准备好要对你自己的数据库添加一个密码时,请确保你有一个系统用于记住密码,例如打印和存储在一个安全的保险箱中。

使用标准40位密钥加密一个Access 2007数据库

要加密一个数据库,开始时和你进行Access 2003加密的过程是很类似的。首先你需要打开Microsoft Access,不选数据库,然后使用Open More Files选项(见图1的RHS)浏览数据库。在你选择了数据库之后,点击Open按钮旁边的向下箭头(见图1的底部)并选择Open Exclusive。

图 1 – 以独占方式打开你的数据库

选择Database Tools标签页并选择Encrypt with Password,如图2所示。

图 2–在2007工具条上的密码加密

输入一个强密码(字母和数字以及特殊字符)并确认。请将这步的密码记录在其它什么地方。

改变一个密码

改变数据库密码总是一个好方法。要这么做,以独占方式打开数据库。现在你将看到Decrypt Database按钮在Access工具条中Database Tools标签页上取代了Encrypt With Password按钮。使用这个按钮来删除密码。

使用一个128位密钥加密一个Access 2007 数据库

正如前面所提到的,Access 现在支持不同的RC4加密算法提供者(也叫做加密提供者)。现在让我们看看你怎样使用一个较长的密钥长度来加密你的ACCDB数据库、提供更强的加密。在你这么做之前,你最好有一个最近的完全系统备份,因为你现在将被显示怎样改变Windows注册表。

要对一个ACCDB数据库进行一个更强的加密,你需要对你的注册表进行修改。要这么做,点击Windows 开始按钮并选择Run,在程序对话框中输入RegEdit。

在注册表的层级中找到下面的键

HKEY_CURRENT_USER/Software/Microsoft/office/12.0/Common

注意:注册表中的键12.0意味着Office 2007

创建一个新的键,叫做Security (如图3所示),如果它不存在的话。

图 3 ~ 在注册表中创建一个键

创建叫做DefaultEncryption的多字符串值(如果它不存在的话),如图4所示:

图 4 ~ 在注册表中创建一个多值键


  • 海力源码手机版
  •  联系客服小美