Perl - SQLite3数据库加密

时间:2014-07-08 12:40:49

标签: database perl encryption sqlite

我成功地使用Perl :: DBI模块使用Perl创建了一个SQLite3数据库。 我想知道是否有办法将数据库的加密添加到我现有的Perl代码中?

我仔细阅读了以下2个链接:

但提供的示例似乎只包括专有软件或C#代码(特别是这里的https://stackoverflow.com/a/24349415/3186538)。

提前致谢。

1 个答案:

答案 0 :(得分:1)

好吧,您可以通过任何Crypt::*模块(::DES::Blowfish::IDEA等与::CBC一起运行您的数据,然后可能用base64对其进行编码以获取文本,然后再将其写入数据库。当然,在阅读时反转操作。您甚至可以创建一个位于Perl::DBICrypt之上的Perl::DBI模块,并自动执行此操作。

但是,这在很大程度上取决于您将如何使用它。如果您只是担心某人窃取和使用您的数据,加密将是可行的,因为没有密钥,它将是无用的。

另一方面,如果您尝试保护您分发的系统中的数据,则该密钥将可供攻击者使用(因为没有它,您的代码将无法正常工作)。因此,在这种情况下加密最多只是一个小小的不便。

如果您将密钥远离攻击者(例如,如果Perl代码在您控制的应用服务器中运行),那么它才能真正起作用。

基本上任何解决方案都会对攻击者可以访问的框上的数据进行解密。