package com.sqlite.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Test;
public class SqliteWillenaSQLCipher {
/**
* SQLCipher-v4加密方式创建Sqlite数据库
* @title: createSqliteDb
* @author zchen
* @throws Exception
* @date 2022年8月31日 下午2:10:30
*/
@Test
public void createSqliteV4Db() throws Exception {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:sqlite-sqlcipher.db?cipher=sqlcipher&legacy=4&kdf_iter=256000&key=123");
Statement stat = connection.createStatement();
// 创建表
StringBuffer createTableSql = new StringBuffer("create table TB_TEST (");
createTableSql.append("id INTEGER, name NTEXT,");
createTableSql.append("typeId INTEGER, logoUrl text");
createTableSql.append(");");
stat.executeUpdate(createTableSql.toString());
stat.executeUpdate("INSERT INTO TB_TEST(id,name,typeId,logoUrl) VALUES (1111,'sqlite-sqlcipher',123,'adkflaskd')");
ResultSet rs = stat.executeQuery("select * from TB_TEST");
while (rs.next()) {
System.out.println(rs.getObject(1));
}
rs.close();
stat.close();
connection.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
/**
* SQLCipher-v4加密方式读取Sqlite数据库
* @title: selectSqliteDb
* @author zchen
* @throws Exception
* @date 2022年8月31日 下午2:11:25
*/
@Test
public void selectSqliteV4Db() throws Exception {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager
.getConnection("jdbc:sqlite::resource:config/dbfile/sqlite-sqlcipher.db?cipher=sqlcipher&legacy=4&kdf_iter=256000&key=123");
Statement stat = connection.createStatement();
ResultSet rs = stat.executeQuery("select * from TB_TEST");
while (rs.next()) {
System.out.println(rs.getObject(1)+"--"+rs.getObject(2));
}
rs.close();
stat.close();
connection.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
/**
* SQLCipher-v3加密方式创建Sqlite数据库
* @title: createSqliteDb
* @author zchen
* @throws Exception
* @date 2022年8月31日 下午2:10:30
*/
@Test
public void createSqliteV3Db() throws Exception {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:sqlite-sqlcipherv3.db?cipher=sqlcipher&legacy=3&kdf_iter=256000&key=123");
Statement stat = connection.createStatement();
// 创建表
StringBuffer createTableSql = new StringBuffer("create table TB_TEST (");
createTableSql.append("id INTEGER, name NTEXT,");
createTableSql.append("typeId INTEGER, logoUrl text");
createTableSql.append(");");
stat.executeUpdate(createTableSql.toString());
stat.executeUpdate("INSERT INTO TB_TEST(id,name,typeId,logoUrl) VALUES (1111,'sqlite-sqlcipherv3',123,'adkflaskd')");
ResultSet rs = stat.executeQuery("select * from TB_TEST");
while (rs.next()) {
System.out.println(rs.getObject(1));
}
rs.close();
stat.close();
connection.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
/**
* SQLCipher-v3加密方式读取Sqlite数据库
* @title: selectSqliteDb
* @author zchen
* @throws Exception
* @date 2022年8月31日 下午2:11:25
*/
@Test
public void selectSqliteV3Db() throws Exception {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager
.getConnection("jdbc:sqlite::resource:config/dbfile/sqlite-sqlcipherv3.db?cipher=sqlcipher&legacy=3&kdf_iter=256000&key=123");
Statement stat = connection.createStatement();
ResultSet rs = stat.executeQuery("select * from TB_TEST");
while (rs.next()) {
System.out.println(rs.getObject(1)+"--"+rs.getObject(2));
}
rs.close();
stat.close();
connection.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
/**
* SQLCipher256加密方式创建Sqlite数据库
* @title: sqlite-sqlcipher256
* @author zchen
* @throws Exception
* @date 2022年8月31日 下午5:50:02
*/
@Test
public void createSqliteSqlcipher256Db() throws Exception {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:sqlite-sqlcipher256.db?cipher=sqlcipher&legacy=0&kdf_iter=256000&key=123");
Statement stat = connection.createStatement();
// 创建表
StringBuffer createTableSql = new StringBuffer("create table TB_TEST (");
createTableSql.append("id INTEGER, name NTEXT,");
createTableSql.append("typeId INTEGER, logoUrl text");
createTableSql.append(");");
stat.executeUpdate(createTableSql.toString());
stat.executeUpdate("INSERT INTO TB_TEST(id,name,typeId,logoUrl) VALUES (1111,'sqlite-sqlcipher256',123,'adkflaskd')");
ResultSet rs = stat.executeQuery("select * from TB_TEST");
while (rs.next()) {
System.out.println(rs.getObject(1));
}
rs.close();
stat.close();
connection.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
/**
* SQLCipher256加密方式创建Sqlite数据库
* @title: sqlite-sqlcipher256
* @author zchen
* @throws Exception
* @date 2022年8月31日 下午5:50:02
*/
@Test
public void selectSqliteSqlcipher256Db() throws Exception {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager
.getConnection("jdbc:sqlite::resource:config/dbfile/sqlite-sqlcipher256.db?cipher=sqlcipher&legacy=0&kdf_iter=256000&key=123");
Statement stat = connection.createStatement();
ResultSet rs = stat.executeQuery("select * from TB_TEST");
while (rs.next()) {
System.out.println(rs.getObject(1)+"--"+rs.getObject(2));
}
rs.close();
stat.close();
connection.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
sqlite各种加密方式demo
共35个文件
java:20个
db:7个
xml:5个
需积分: 5 3 下载量 130 浏览量
2023-12-18
14:50:22
上传
评论
收藏 11.02MB 7Z 举报
温馨提示
sqlite的aes128、aes256、sqleet、sqlcipher、rc4等加密方式例子
资源推荐
资源详情
资源评论
收起资源包目录
sqlitedemo.7z (35个子文件)
sqlitedemo
lib
sqlite-jdbc-3.38.2.jar 11.04MB
pom.xml 4KB
src
test
java
main
java
log4j.dtd 7KB
log4j.xml 2KB
config
dbfile
sqlite-sqlcipher.db 8KB
sqlite-rc4.db 8KB
sqlite-aes128.db 8KB
sqlite-sqleet.db 8KB
sqlite-aes256.db 8KB
sqlite-sqlcipherv3.db 2KB
sqlite-sqlcipher256.db 8KB
demo
mapper
demo-sqlmap.xml 333B
properties
mybatis
mybatis-config.xml 333B
logback-config.xml 1KB
application.yml 1KB
com
sqlite
busine
demo
controller
DemoController.java 2KB
service
DemoService.java 875B
base
dao
BaseDao.java 3KB
common
DateEnum.java 2KB
MessageModel.java 929B
UniqueKey.java 269B
util
HardInfoUtil.java 3KB
FunUtils.java 4KB
AesUtil.java 4KB
FileUtil.java 606B
StringUtils.java 1KB
DateUtils.java 3KB
ReadLocalIpUtils.java 1KB
test
SqliteWillenaSQLCipher.java 7KB
SqliteWillenaSQLiteRC4.java 2KB
BloomTest.java 837B
SqliteWillenaSqleet.java 3KB
SqliteWillenaAES128Bit.java 2KB
SqliteWillenaAES256Bit.java 3KB
SqliteDemo.java 299B
共 35 条
- 1
资源评论
沉默的生活
- 粉丝: 2
- 资源: 29
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
- 时代的sdddsddsddsd
- 基于哈希链表的简单人员信息管理系统
- 其他类别JdonFramework开源框架 v5.1 Build20071025-jdonframework-5.1.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功