【目的】
- 加密 Sqlite 資料。
【方法】
方法一
- 調用 C 的crypto libraries 將原始資料(如 Base64Encoder)加密。
- 將加密後的資料存入 Sqlite。
- 缺點就是資料量會變大,讀取速度變慢。
方法二
- 另一個方法據說原作者留有設定帳號密碼的function,不過這部分還得測試。
且這部分須更改sqlite原始碼,較不適用已有Sqlite的現成平台。
方法三
- 利用現成的SQLCipher達到加密效果。此方法也適用用Xcode開發的程式。
- SQLCipher 利用的是 OpenSSL,AES-256…格式作加密。
- SQLCipher使用MIT-style license,這是一種比較寬鬆的版權協定。
【程式】
- tbd
【參考】
- Building QSQLITE driver with AES-256 encryption support
http://www.qtcentre.org/wiki/index.php?title=Building_QSQLITE_driver_with_AES-256_encryption_support - Tutorial: iPhone SQLite Encryption With SQLCipher
http://mobileorchard.com/tutorial-iphone-sqlite-encryption-with-sqlcipher/
【其它參考】
參考價值不大。
- Qt+SQLite数据加密的一种思路
http://my.blogyi.net/post/qt-memory-sqlite-solution.aspx - SQLiteSecure –SQLite的加密扩展方法
http://www.onegreen.net/Article/HTML/10183.html - Delta XMPP Project
http://delta.affinix.com/qca/ - QCryptographicHash Class Reference(只支援加密)
http://doc.trolltech.com/4.7/qcryptographichash.html - C++ Crypto Libraries
http://cookingandcoding.com/category/coding/qt/ - Building Qt with OpenSSL
http://www.rolandli.com/2009/05/22/building-qt-with-openssl - 使用 OpenSSL API 进行安全编程
http://www.linuxboss.cn/Anquan/2010/0122/18658.html - QT WEP key generator
http://gitorious.org/qt-wep-key-generator - 使用qt封装了几个常用的加密算法
http://blog.chinaunix.net/u/15722/showart_86837.html - 9. XML
http://www.digitalfanatics.org/projects/qt_tutorial/chapter09.html