2024-04-02 10:54
@hb963724769 主要是入库使用Java 加密后再入库,查询这个就是看情况了。 我们系统查询位置有统一查询方法,走同一个方法,并且需要加密的字段名是有标识,所以Java会自动根据规则是否解密还是打码处理展示的
2024-04-02 10:48
@hb963724769 查询需要看业务场景了,比如手机号 是全匹配查询,还是号段匹配查询,全匹配就加密后用加密串去查,分段查询就数据库提前冗余字段存储分段的值。比如地址查询,也是一样操作。还是看业务场景选择合适的查询。数据库解密函数查询相对比较耗费 cpu,主要也看服务器配置和数据量,返回时间能满足业务要求也是没问题的,还简单些
2024-02-01 11:15
@绿色的小苹果 你说的这个需求,以前我有分享过:https://jfinal.com/share/2404
我们是日志入库了,定期清理
2023-09-21 13:38
DruidPlugin dp = new DruidPlugin("jdbc:sqlite:db/acc.db", null, null);
dp.set(1, 1, 1);//并发必须1
dp.setDriverClass("org.sqlite.JDBC");
ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
arp.setDialect(new Sqlite3Dialect());
dp.start();
arp.start();
//------------初始化表结构------------------
Db.update( """
CREATE TABLE IF NOT EXISTS ta (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
aid INT NOT NULL,
bid INT NOT NULL,
cid INT NOT NULL
)
""");
Db.save("ta", new Record().set("aid",2).set("bid",1).set("cid",1));
List<Record> list = Db.findAll("ta");
System.out.println(list);
//--------------重新映射Model关系---------------------
arp.stop();
arp.addMapping("ta","aid", Ta.class);
arp.start();
new Ta().set("aid",2).set("bid",1).set("cid",1).save();
List<Ta> all = Ta.dao.findAll();
System.out.println(all);
dp.stop();