sqlite加密
這個我最後沒有使用sqlite3_key和sqlite3_rekey介面,而是用的外部對sqlite文件加密,你的方便給我分享一下或者講解一下思路嗎 –
Ⅱ 如何對sqlite3資料庫進行加密
給SQLite資料庫加密解密的方法:
1、創建空的sqlite資料庫。
//資料庫名的後綴你可以直接指定,甚至沒有後綴都可以
//方法一:創建一個空sqlite資料庫,用IO的方式
FileStream
fs
=
File.Create(「c:\\test.db「);
//方法二:用SQLiteConnection
SQLiteConnection.CreateFile(「c:\\test.db「);
創建的資料庫是個0位元組的文件。
2、創建加密的空sqlite資料庫
//創建一個密碼為password的空的sqlite資料庫
SQLiteConnection.CreateFile(「c:\\test2.db「);
SQLiteConnection
cnn
=
new
SQLiteConnection(「Data
Source=c:\\test2.db「);
SQLiteConnection
cnn
=
new
SQLiteConnection(「Data
Source=D:\\test2.db「);
cnn.Open();
cnn.ChangePassword(「password「);
3、給未加密的資料庫加密
SQLiteConnection
cnn
=
new
SQLiteConnection(「Data
Source=c:\\test.db「);
cnn.Open();
cnn.ChangePassword(「password「);
4、打開加密sqlite資料庫
//方法一
SQLiteConnection
cnn
=
new
SQLiteConnection(「Data
Source=c:\\test2.db「);
cnn.SetPassword(「password「);
cnn.Open();
//方法二
SQLiteConnectionStringBuilder
builder
=
new
SQLiteConnectionStringBuilder();
builder.DataSource
=
@」c:\test.db「;
builder.Password
=
@」password「;
SQLiteConnection
cnn
=
new
SQLiteConnection(builder.ConnectionString);
cnn
.Open();
除了用上述方法給SQLite資料庫加密以外,您還可以使用專業的文件加密軟體將SQLite資料庫加密。
超級加密
3000採用先進的加密演算法,使你的文件和文件夾加密後,真正的達到超高的加密強度,讓你的加密數據無懈可擊。
超級加密3000使用起來,只要點擊需要加密的文件的右鍵,即可輕松實現文件的加密。
解密只要雙擊已加密文件,輸入密碼即可輕松搞定。
Ⅲ sqlite能整個庫進行加密么
使用sqlite3_key_v2函數設置秘鑰後,在對資料庫的所以操作都是加密的
設置加解密資料庫文件的秘鑰。
SQLITE_APIintSQLITE_STDCALLsqlite3_key_v2(
sqlite3*db,
constchar*zDbName,
constvoid*pKey,
intnKey
);
db:資料庫連接句柄
zDbName:資料庫名稱
pKey:秘鑰
nKey:秘鑰長度
注釋:
db
資料庫連接句柄。此句柄必須是由sqlite3_open函數,sqlite3_open16函數或sqlite3_open_v2函數返回。
zDbName
資料庫名稱。資料庫名稱為主資料庫的「main」,臨時資料庫的「temp」或在附加資料庫的ATTACH語句中的AS關鍵字後指定的名稱。
pKey
秘鑰。
nKey
秘鑰長度。註:預留介面需要程序自己實現。
返回值:
返回值詳見「SQLite返回值與錯誤代碼」。
Ⅳ 如何判斷sqlite資料庫是否加密
給SQLite資料庫加密解密的方法: 1、創建空的sqlite資料庫。 //資料庫名的後綴你可以直接指定,甚至沒有後綴都可以 //方法一:創建一個空sqlite資料庫,用IO的方式 FileStream fs = File.Create(「c:\\test.db「);
Ⅳ 請問怎麼對Sqlite資料庫文件進行加密存儲
這樣使用時需要解密到臨時區,使用完成後又要加密到原存儲區。感覺別扭。其實一些重要的數據可以自定義文件格式保存。
Ⅵ sqlite能對資料庫的數據加密嗎
可以,使用sqlite3_Key(),m_pSQLiteDB為資料庫指針,strPassword為密碼
sqlite3_key(m_pSQLiteDB,strPassword,strPassword.GetLength());
Ⅶ 怎麼加密和解密sqlite資料庫
加密一個未加密的資料庫或者更改一個加密資料庫的密碼,打開資料庫,啟動SQLiteConnection的ChangePassword() 函數
// Opens an unencrypted database
SQLiteConnection cnn = newSQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
// Encrypts the database. The connection remains valid and usable afterwards.
cnn.ChangePassword("mypassword");
解密一個已加密的資料庫調用l ChangePassword() 將參數設為 NULL or "" :
// Opens an encrypted database
SQLiteConnection cnn = newSQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
// Removes the encryption on an encrypted database.
cnn.ChangePassword("");
要打開一個已加密的資料庫或者新建一個加密資料庫,在打開或者新建前調用SetPassword()函數
// Opens an encrypted database by calling SetPassword()
SQLiteConnection cnn = newSQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(newbyte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
// The connection is now usable
Sqlite資料庫的加密
1、創建空的sqlite資料庫。
//資料庫名的後綴你可以直接指定,甚至沒有後綴都可以
//方法一:創建一個空sqlite資料庫,用IO的方式
FileStream fs = File.Create(「c:\\test.db「);
//方法二:用SQLiteConnection
SQLiteConnection.CreateFile(「c:\\test.db「);
創建的資料庫是個0位元組的文件。
2、創建加密的空sqlite資料庫
//創建一個密碼為password的空的sqlite資料庫
SQLiteConnection.CreateFile(「c:\\test2.db「);
SQLiteConnection cnn = new SQLiteConnection(「Data Source=c:\\test2.db「);
SQLiteConnection cnn = new SQLiteConnection(「Data Source=D:\\test2.db「);
cnn.Open();
cnn.ChangePassword(「password「);
3、給未加密的資料庫加密
SQLiteConnection cnn = new SQLiteConnection(「Data Source=c:\\test.db「);
cnn.Open();
cnn.ChangePassword(「password「);
4、打開加密sqlite資料庫
//方法一
SQLiteConnection cnn = new SQLiteConnection(「Data Source=c:\\test2.db「);
cnn.SetPassword(「password「);
cnn.Open();
//方法二
SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();
builder.DataSource = @」c:\test.db「;
builder.Password = @」password「;
SQLiteConnection cnn = new SQLiteConnection(builder.ConnectionString);
cnn .Open();
分頁
select * from messages limit 10,100;
表示跳過10行,取100行的返回結果。
Ⅷ 有什麼方法可以對sqlite的數據進行加密嗎
常用成員函數
1) QRadioButton::QRadioButton(const QString & text,QWidget *parent, const char *name = 0 )
構造一個名稱為name、父對象為parent並且文本為text的單選按鈕。
2) bool QRadioButton::isChecked () const
返回是否選中單選按鈕,選中時返回true,沒有選中時返回false。
3) void QButton::setText ( const QString & )
設置該按鈕上顯示的文本。
4) QString QButton::text () const
返回該按鈕上顯示的文本。