这是我想要做的。我有一个程序,使用数据库密码将数据存储到MS Access文件中。表中的所有数据都使用用户名和密码加密。他们都使用相同的密码。
我正在尝试更改输入的密码,因此它与原始密码不同,因为我希望它与MS Access数据库密码和加密密码不同。
有两个原因。首先,我不希望用户修改MS Access文件的内容。将原始密码更改为其他内容会阻止他们这样做,因为他们不会知道DB的实际密码。此外,数据将被加密,因此如果用户将数据更改为非加密数据,则会破坏我的程序。其次,假设MS Access文件是我程序安全性中最薄弱的环节。知道数据库文件的密码将使攻击者更容易入侵并解密我的数据。但他还不知道用户名。
那么我如何才能将密码更改为其他难以猜测的密码如何更改为新密码?
编辑:
MS Access 2007中的数据库密码不得超过20个字符。
编辑:
我知道我可以使用HEX编辑器读取程序,所以我希望更改保持秘密。我不能对它进行加密,因为它需要的空间超过20个字符。
EDIT。
假设只有包含数据的文件被盗。
答案 0 :(得分:1)
取决于用户的计算机知识水平。如果您只是“通常的”办公室工作人员,那么通过MD5散列密码并取前20个字符就足够了。
第二次编辑:您的用户是否真的能够对您的软件进行逆向工程?当然,对于基于.NET的应用程序来说它更容易,但如果没有实际目的,某人也不会这样做。
如果您想安装保护措施,那么窃取此文件的人将无法阅读该文件,那么您需要指定所谓的盗窃详情。例如,攻击者只获取Access文件以及攻击者用所有软件窃取硬盘以进行逆向工程等的情况完全不同。您的保护应该与假设的威胁级别相匹配 - 在您开始计划任何对策之前,您需要指定这个假定的级别。