LightDB之保序加密
保序加密是一种特殊的加密算法,保序加密后,密文包含明文的大小信息,所以可以用密文做有限的运算,如排序,查找。
保序加密的定义如下:
有两个输入a, b 和保序加密函数f;
如果a > b 则 f(a) > f(b) ;
如果a = b 则 f(a) = f(b).
LightDB新增extension--lt_ope来支持保序加密,extension默认开启(本特性将于6月底版本发布)
lt_ope 支持三种数据类型的保序加密:bigint、double precision和text. 该text类型支持的最大明文长度为 128 字节。三种明文加密的密文类型为ope_type。
SELECT ope_bigint_encrypt(12345678);
ope_bigint_encrypt
--------------------------------
f6g7h8\x03\x01\x02\x02Cceh\x0C
SELECT ope_double_encrypt(1234.5678);
ope_double_encrypt
-----------------------------
f6g7h8\x02\x01\x02\x02Ccekڙ
SELECT ope_text_encrypt('123456789@qq.com');
ope_text_encrypt
-------------------------------
e5d4c3b2\x01\x02\x02Cceh\x01à
密文类型 ope_type 支持以下运算符:>、>=、 <、<=和。同时,文本类型明文加密的ope_type类型密文支持操作。 =!=like 'xxx%'
密文类型 ope_type 也支持order by, between...and, IN,NOT IN和BTREE index.
create table test_ope(id int, info text, opedata ope_type, crt_time timestamp not null);
CREATE TABLE
create index opedata_index on test_ope USING BTREE (opedata);
CREATE INDEX
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具