问题
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