簡體   English   中英

如何在 Java 中加密和解密 sqlite3 數據庫?

[英]How to encrypt and decrypt a sqlite3 database in Java?

首先我需要加密我的 sqlite3 數據庫,因為有非常敏感的數據。 然后我只需要在需要時解密我的數據庫。 我怎么辦? 我正在為 Sqlite 使用 sqlite3-jdbc-3.30.1 和數據庫瀏覽器。 我的數據庫包含很多字符串。 我的數據是這樣的:

ID , 引理 , 定義

1、你好,問候語

Connection conn = null;
    try {
        conn = DriverManager.getConnection("jdbc:sqlite:C:\\sqlite databases\\library.db"); 
     
    }
    catch(SQLException exc) {}

我建議您使用 SqlCipher 這是鏈接:

https://www.zetetic.net/sqlcipher/

試試這個

http://sqlite-crypt.com/

它將加密數據庫數據

首先我需要加密我的 sqlite3 數據庫,因為有非常敏感的數據。

檢查SQLite 加密擴展以進行加密。

然后我只需要在需要時解密我的數據庫。

您可以使用已用於加密的相同秘密字符串解密加密數據。 鏈接(上面給出)包含加密和解密的信息。 檢查示例以了解如何使用密鑰完成 AES 加密和解密。

注意:僅加密/解密敏感數據,而不能加密/解密密碼、密碼問題/答案等機密數據。否則,任何有權訪問解密邏輯的人(例如其他開發人員)都可以對其進行解密。 想象一下您加密密碼並將其保存在數據庫中的場景。 任何人(包括您)都應該能夠解密它嗎? 如果是,您的客戶會信任您嗎?

您可能會問,您將如何允許客戶使用他們將在登錄表單中輸入的普通密碼登錄。 答案是,使用您在將密碼保存到數據庫時對密碼應用的相同邏輯對輸入的密碼進行加密,然后比較加密的字符串,而不是將來自數據庫的解密密碼與客戶輸入的普通密碼進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM