返回首页

gbase数据、南大通用产品文档:GBase8s使用列级别数据加密来保护信用卡数据

更新日期:2024年09月11日

下列示例使用列级别加密来保护信用卡数据。
使用列级别加密来保护信用卡数据:
1. 创建表:create table customer (id char(30), creditcard lvarchar(67));
2. 插入加密数据:
a. 设置会话密码:
SET ENCRYPTION PASSWORD "credit card number is encrypted";
b. 加密数据。
INSERT INTO customer VALUES
("Alice", encrypt_aes("1234567890123456"));
INSERT INTO customer VALUES
("Bob", encrypt_aes("2345678901234567"));
3. 使用解密函数查询加密数据。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 112 -

SET ENCRYPTION PASSWORD "credit card number is encrypted";
SELECT id FROM customer
WHERE DECRYPT_CHAR(creditcard) = "2345678901234567";
重要: 加密数据值比相应的未加密数据占用更多的存储空间。列宽足够存储明文的列可能需要
增大宽度才能支持列级别加密或单元级别加密。如果要将加密值插入声明宽度小于加密字符串
的列,那么列存储截断后的值,该值无法被解密。
有关加密安全性的更多信息,请参阅《GBase 8s 管理员指南》。
有关内置加密和解密函数语法和存储要求的更多信息,
请参阅
《GBase 8s SQL 指南:
语法》


shared_buffers
参数说明:设置GBase 8c 使用的共享内存大小。增加此参数的值会使GBase 8c 比系统
默认设置需要更多的System V 共享内存。
该参数属于POSTMASTER 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:整型,16 ~ 1073741823,单位为8KB。
shared_buffers 需要设置为BLCKSZ 的整数倍,BLCKSZ 目前设置为8KB ,即
shared_buffers 需要设置为8KB 整数倍。改变BLCKSZ 的值会改变最小值。
默认值:8MB
设置建议:
建议设置shared_buffers 值为内存的40%以内。行存列存分开对待。行存设大,列存设
小。列存:(单服务器内存/单服务器数据库节点个数)*0.4*0.25。
如果设置较大的shared_buffers 需要同时增加checkpoint_segments 的值,因为写入大量
新增、修改数据需要消耗更多的时间周期。

Add 方法 (String, GBaseDbType)
给定参数名和数据类型,把指定的GBaseParameter 对象加入到
GBaseParameterCollection 中。

语法
[Visual Basic]
Public Function Add ( _

parameterName As String, _

dbType As GBaseDbType _
) As GBaseParameter
[C#]
public GBaseParameter Add(

string parameterName,

GBaseDbType dbType
)

参数
1) parameterName :参数的名称;
2) dbType :GBaseDbType 的值之一。

返回值
新GBaseParameter 对象的索引。

GBase 8a 程序员手册ADO.NET 篇


- 304 -

南大通用数据技术股份有限公司