DB2® 数据库系统提供了若干方法来对存储器中的数据和通过网络传输的数据进行加密。具体可以参考以下链接:
这里是本地加密的一个例子:
db2 "CREATE TABLE EMP (id int, name VARCHAR(24) FOR BIT DATA)"
db2 "insert into EMP values(100, ENCRYPT('zhou','pw12345'))"
db2 "insert into EMP values(200, ENCRYPT('wu','pw54321'))"
db2 "SET ENCRYPTION PASSWORD = 'aaaa111'"
db2 "insert into EMP values(300,ENCRYPT('zheng'))"
$ db2 "select * from emp"
ID NAME
----------- ---------------------------------------------------
100 x'08DB25FFB804AFD561DEAD801328C1B3'
200 x'08D729FFB804A9D5DC90CF3E61AE9336'
300 x'080AF6FFB804AED584EED9B0F1DD9ABF'
3 record(s) selected.
$ db2 "select id,DECRYPT_CHAR(name,'pw54321') from emp where id = 300"
ID 2
----------- ----------------
SQL20145N The decryption function failed. The password used for decryption
does not match the password used to encrypt the data. SQLSTATE=428FD
$ db2 "select id,DECRYPT_CHAR(name,'pw54321') from emp where id = 200"
ID 2
----------- ----------------
200 wu
1 record(s) selected.
$ db2 "select id,DECRYPT_CHAR(name,'aaaa111') from emp where id = 300"
ID 2
----------- ----------------
300 zheng
1 record(s) selected.