JDBC for SQLCipher

主宰稳场 提交于 2019-12-30 11:17:32

问题


Is there any JDBC driver exist for SQLCipher? I want to write program with javaSE and encrypted SQLite. I searched on the Internet and found nothing much on SQLCipher JDBC.

Or any other free solution on encrypted SQLite beside using SQLCipher? I'm using JavaSE.


回答1:


There is a fork of the JDBC driver for SQLite that modifies it to work with SQLCipher: sqlcipher-jdbc on GitHub. You have to build it yourself, though.

When you built it, you get an JAR file that you have to provide in your project's classpath.




回答2:


There is an Apache 2.0 licensed package named sqlite-jdbc-crypt ("SQLite JDBC Driver with encryption and authentication support") available at https://github.com/Willena/sqlite-jdbc-crypt

Click on the 'Releases' tab in the center to download a pre-build .jar file.

Here's example Java code to create an encrypted SQLite database named db.sql which is encrypted with the password apassword:

package com.name.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {

    public static void main(final String[] args) {

        try (final Connection connection = DriverManager.getConnection("jdbc:sqlite:db.sqlite", "",
                "apassword")) {
            try (final Statement stmt = connection.createStatement()) {
                stmt.execute("CREATE TABLE test (data TEXT(10));");
                stmt.execute("INSERT INTO test VALUES('hello');");
            }
            connection.close();
        } catch (final SQLException e) {
            e.printStackTrace();
        }

        System.out.println("finished");
        System.exit(0);
    }
}


来源:https://stackoverflow.com/questions/23170836/jdbc-for-sqlcipher

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!