Encryption System.Data.SQLite使用的密码加密类型/级别是什么

Encryption System.Data.SQLite使用的密码加密类型/级别是什么,encryption,sqlite,password-protection,Encryption,Sqlite,Password Protection,使用库System.Data.SQLite对SQLite数据库进行密码保护时,使用的加密类型/级别是什么 当研究SQLite加密时,有很多选择,但是当使用上述库从.NET应用程序中创建SQLite数据库时,它使用什么加密方法 要加密SQLite数据库,.NET代码中所需的只是在连接字符串中提供密码 SQLite连接字符串 数据源=[DBFile.sqlite];版本=3;密码=[密码];datetimeformat=CurrentCulture 如果实现了对上面的SQLite文件进行加密的路由,

使用库
System.Data.SQLite
对SQLite数据库进行密码保护时,使用的加密类型/级别是什么

当研究SQLite加密时,有很多选择,但是当使用上述库从.NET应用程序中创建SQLite数据库时,它使用什么加密方法

要加密SQLite数据库,.NET代码中所需的只是在连接字符串中提供密码

SQLite连接字符串

数据源=[DBFile.sqlite];版本=3;密码=[密码];datetimeformat=CurrentCulture

如果实现了对上面的SQLite文件进行加密的路由,则应用了什么类型的加密?我一直找不到任何说明这一点的文件

加密选项:

我找到了下面的链接,但它没有告诉我需要什么 知道。除非我很迷茫,我错过了它

堆栈溢出帖子:

这篇文章已经过时了,因为它是SQLite 3之前的文章 有一些关于加密可能性的好文档。这篇文章的答案之一 有个人说这篇文章过时了,说“SQLite3.Net” 现在对加密的内置支持在很大程度上使其无效 答案“

上面提到的内置加密是什么


我浏览了上的CHM文档。它几乎没有提到加密。我能找到的唯一信息是版本历史记录,上面写着:

1.0.24.3测试版-2006年1月10日

  • 在寻呼机级别增加了对数据库加密的支持。数据库使用128位RC4流算法进行加密。要打开现有的加密数据库,现在可以在ConnectionString中指定“Password={Password}”文本,也可以调用SQLiteConnection.SetPassword()函数在打开的连接上设置密码。要加密现有的非加密数据库或更改加密数据库的密码,必须使用SQLiteConnection.ChangePassword()函数。如果使用SetPassword()而不是在连接字符串中指定密码,或者调用ChangePassword(),则可以使用二进制字节数组或文本字符串作为密码

(强调矿山)

快速浏览一下就会发现“在RC4中发现了多个漏洞,使其不安全。”我不相信它

还值得注意的是:您所谈论的加密模块不是SQLite的一个功能,而是System.Data.SQLite库提供的一个扩展。使用它将使您的数据库无法与其他SQLite读取器一起使用