我正处于一个项目的中间,我想在iOS应用程序的MFC\C++应用程序中重用iOS应用程序的MFC\C++数据库。
iOS数据库是使用'sqlite3_key()‘加密的,它使用进行数据库处理。
和
我使用在包装器的帮助下处理数据库。
但是,当我试图在数据库上执行任何语句时,它会抛出并异常File is encrypted or not a database。
这件事我没得到任何线索。
有人能帮我吗?
我知道它重复了以下问题,但问题是不活跃的,我无法从这个问题中得到任何答案。
1.
2.
请帮帮我。
在我的数据库中,我使用了使用对称密钥的数据库列加密。我遵循了这个教程。它使用对称密钥,对其他人不可见。但是数据库管理员可以通过执行调用对称密钥的查询来查看加密列。
USE EncryptTest
GO
OPEN SYMMETRIC KEY TestTableKey DECRYPTION
BY CERTIFICATE EncryptTestCert
SELECT CONVERT(VARCHAR(50),DECRYPTBYKEY(EncryptSecondCol)) AS DecryptSecondCol
FROM TestTable
GO
我需要一个数据库级别的加密和数据库管理员也应该不能解密的
在Server 2008 R2中,如果更改数据库主密钥,则必须对更改用户数据库加密密钥的证书进行任何更改。我有年度更新要求。
所以如果我这么做
USE [Master];
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'blah((blah&something';
GO
它还会更新密钥,对为用户数据库加密密钥创建的所有证书进行加密吗?
有丢失数据的风险吗?
关于如何进行更改,有很多例子,但我很难找到关于这种具体情况的点评。
我使用的是firebird服务器2.50。据我所知,在Firebird中没有加密数据库的方法。那么如何保护用户数据呢?
在保存之前手动加密所有数据将会带来麻烦,因为我不能使用类似“开始于”这样的东西。
我使用CentOs作为数据库服务器。这些服务器正在与运行在Windows Server 2008上的应用程序服务器通信。