我正在Borland Delphi 7中用dBASE数据库文件编写一个应用程序。
注意:我认为这个问题与文件安全性有关,你可以在这个问题中忘记dBASE(将其视为TXT文件)。
只能由应用程序访问数据库。然后它必须加密。不幸的是dBASE不支持任何密码机制,我不得不自己加密文件(我也必须使用dBASE)
您建议采用哪种方法来保护数据库文件?
简单的是:
DeleteOnClose
和NoSharingPermission
标志的临时文件。我认为这是一种公平安全的方法。但它有两大问题:
DeleteOnClose
标志失败,临时文件仍保留在硬盘上,用户可以访问它。至少第二部分是否有任何解决方案?
还有其他解决方案吗?
答案 0 :(得分:1)
您还可以尝试创建基于TrueCrypt文件的容器,安装它,然后将dBase文件放在已安装的加密卷中。 TrueCrypt是免费的(在两种意义上)并且可以从您的应用程序通过command line parameters访问(在开始之前安装,在退出之前卸载)。
答案 1 :(得分:0)
根据您对数据库所做的工作,您可以通过解密实际需要的记录来逃脱。例如,您可以基于哈希码(而不是真实数据)构建索引;这将减少对数据库的搜索,以减少数据集。子集中的每条记录都必须被解密,但这可能比解密整个数据库要好得多。