Informix IDS 10.0在安全性上有所增强,列级别加密就是其中一个功能。
使用SET ENCRYPTION PASSWORD语句和ENCRYPT函数来指定加密密码。
对下列字符数据类型或智能大对象数据类型的列中的数据进行加密:CHAR, NCHAR, VARCHAR, NVARCHAR, LVARCHAR, BLOB, CLOB。
密码最小为6字节,最大为128字节。
参照《IDS Administrator Guide V10.0 》中"第5章安全性"的相关部分,在IDS 10.00.TC1做了以下测试,发现手册中有些地方写的不对,下面是通过测试的代码。
1、如何加密列的示例:
create table emp
(name char(40),
salary money,
ssn lvarchar(64));
set encryption password "one two three 123";
insert into emp values ("Alice", 50000, encrypt_aes('123-456-7890'));
insert into emp values ("Bob", 65000, encrypt_aes('213-656-0890'));
2、如何查询加密数据的示例:
select name, salary, decrypt_char(ssn, "one two three 123") from emp;
select name, salary, decrypt_char(ssn) from emp where decrypt_char(ssn)='213-656-0890';
更多内容请看PCdog.com--IDS入侵检测专题
