我想用密码保护数据库文件(SQLite)。要求是保护数据库不被用户使用外部SQL浏览器打开,但可以在我的应用程序中使用。
我们的想法是生成一个加密的字符串,该字符串对每个用户都是唯一的,但对同一个用户可以重现。
我尝试使用像这样的ProtectedData类:
byte[] data = { 1, 2, 3, 4, 5 };
byte[] entropy = { 9, 8, 7, 6, 5 };
byte[] cipher = ProtectedData.Protect(data, entropy, DataProtectionScope.CurrentUser);
return System.Text.Encoding.UTF8.GetString(cipher);
这是个好主意吗?还有什么方法可以做到这一点?