Encryption 安全地使用加密文件
我正在用BorlandDelphi7编写一个带有dBASE数据库文件的应用程序 注意:我认为这个问题与文件安全有关,在这个问题中,您可以忘记dBASE(将其视为TXT文件) 数据库必须仅由应用程序访问。那么它必须被加密。不幸的是,dBASE不支持任何密码机制,我必须自己加密文件(我还必须使用dBASE) 您建议采用什么方法来保护数据库文件 简单的一点是:Encryption 安全地使用加密文件,encryption,temporary-files,file-security,Encryption,Temporary Files,File Security,我正在用BorlandDelphi7编写一个带有dBASE数据库文件的应用程序 注意:我认为这个问题与文件安全有关,在这个问题中,您可以忘记dBASE(将其视为TXT文件) 数据库必须仅由应用程序访问。那么它必须被加密。不幸的是,dBASE不支持任何密码机制,我必须自己加密文件(我还必须使用dBASE) 您建议采用什么方法来保护数据库文件 简单的一点是: 加密数据库文件并将其放在应用程序EXE文件旁边 当应用程序运行时,它应该解密文件(使用硬编码密码),并将结果复制到具有DeleteOnClos
DeleteOnClose
和NoSharingPermission
标志的临时文件中DeleteOnClose
标志失败,临时文件仍保留在硬盘上,用户可以访问它还有其他解决方案吗?根据您对数据库的操作,您可能只需要解密实际需要的记录就可以了。例如,您可以基于散列码(而不是真实数据)构建索引;这将把数据库中的数据减少到一个较小的数据集。子集中的每个记录都必须解密,但这可能比解密整个数据库要好得多。您还可以尝试创建一个基于文件的容器,装载它,然后将数据库文件放入装载的加密卷中。TrueCrypt是免费的(在两种意义上都是免费的),并且可以通过您的应用程序访问它(启动前装载,退出前卸载)。一个很长的机会:您可以创建一个RAM驱动器并将解密的数据文件放在其中吗?只要您硬编码密码,就根本没有安全的解决方案。您必须让您的用户选择密码,这样您就不必将其存储在任何地方。@Mef:我不是在寻找一个非常强大的解决方案。密码将由硬编码字符串动态生成,要找到正确的密码并不容易。@Ruben-如何创建这样的驱动器?其他用户可以从Windows资源管理器访问它吗?