可能重複:
SQLite with encryption/password protectionSQLITE3數據庫密碼保護在Java中
我的問題是,我在struts2
Web應用程序,我動態創建一個sqlite
數據庫文件。我需要保護該文件(當用戶下載該文件時,需要輸入密碼才能打開該文件,例如受密碼保護的PDF)。有沒有其他的方式來完成這項任務?
可能重複:
SQLite with encryption/password protectionSQLITE3數據庫密碼保護在Java中
我的問題是,我在struts2
Web應用程序,我動態創建一個sqlite
數據庫文件。我需要保護該文件(當用戶下載該文件時,需要輸入密碼才能打開該文件,例如受密碼保護的PDF)。有沒有其他的方式來完成這項任務?
C中有一個加密庫(sqlite-crypt),但是如果你想用Java來完成,我只需像加密其他文件一樣加密文件,併爲用戶提供一個帶有密碼的解密工具。看到這個例子file encryption/decryption in Java。
您可以使用Zip4j(http://www.lingala.net/zip4j/)創建一個受密碼保護的zip文件。
最好的解決方案是安裝SqlCipher或類似的東西,但這意味着您必須爲Java環境構建並安裝C擴展。
如果您在啓動應用程序時解密SQLite數據庫,然後在結束時對其進行加密,那麼當您實際使用它時(以及如果應用程序異常終止)它會「暴露」。藉助SqlCipher,即使在操作過程中,數據也始終是加密的。另一種方法是加密/解密存儲在數據庫中的單個「斑點」,但不能在其上搜索等。
非常感謝........我正在嘗試 – 2011-05-12 08:47:02