本文在磐维数据库3.2.0版本测试TDE软加密的使用过程,生产环境需要结合加密机使用。
1.准备主密钥
本地测试直接使用软算法:
echo -n "12345678abc@2025" | base64
得到base64加密24位长度的主密钥:MTIzNDU2NzhhYmNAMjAyNQ==
2.修改磐维数据库配置文件postgresql.conf
文件末尾增加:
enable_tde=on
3.启动数据库
gs_ctl start
启动过程中会提示输入master key

这里要输入的就是我们第一步准备的主密钥:MTIzNDU2NzhhYmNAMjAyNQ==
4.创建加密表进行安全验证
建表时需要设置enable_tde=on,建立tde联系,加密算法可选AES或者SM4
create table test1(id int,name text default 'testkoalkms') with(enable_tde=on,encrypt_algo='AES_128_CTR');
create table test2(id int,name text default 'testkoalkms') with(enable_tde=on,encrypt_algo='SM4_CTR');
接着插入两条数据
insert into test1 values(100,'PanWeiDB');
insert into test2 values(200,'panweidb');
checkpoint;
此时使用strings命令查看表存储的数据文件,不会显示明文
=# select pg_relation_filepath('test1');
pg_relation_filepath
----------------------
base/17249/17251
(1 row)
=# select pg_relation_filepath('test2');
pg_relation_filepath
----------------------
base/17249/17258
(1 row)
$ strings base/17249/17251
&?s}h
.x5mrTfk2NUtpTrL6NRezE39sELMCMP8wYK0anOpbkP8=
%$'J
$ strings base/17249/17258
+D45
I11txTxUyVVJ5iMuH0+BngZ4MfcbZgceylefAl1TKWM=
可以继续对表做DML操作来进一步验证。
最后修改时间:2025-12-06 10:59:08
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




