WEB开发网
开发学院数据库DB2 DB2中的数据值加密 阅读

DB2中的数据值加密

 2007-05-20 16:16:41 来源:WEB开发网   
核心提示: GetHint(EncryptedData) Set Encryption Password 用于对数据加密的算法是一个 RC2 分组密码(block cipher),它带有一个 128 位的密钥,DB2中的数据值加密(2),这个 128 位的密钥是通过消息摘要从密码得来的,加密密码与 D

GetHint(EncryptedData)

Set Encryption Password

用于对数据加密的算法是一个 RC2 分组密码(block cipher),它带有一个 128 位的密钥。这个 128 位的密钥是通过消息摘要从密码得来的。加密密码与 DB2 认证无关,仅用于数据的加密和解密。

这里可以提供一个可选的参数 PasswordHint,这是一个字符串,可以帮助用户记忆用于对数据加密的 PasswordOrPhrase。(例如,可以使用 'George' 作为记忆 'Washington'的提示。)

列级加密

列级加密(column level encryption)意味着对于一个给定列中的所有值都使用相同的密码进行加密。这种类型的加密可以在视图中使用,也可以在使用了一个公共密码的情况下使用。当对一个或多个表中所有的行使用相同的密钥时,ENCRYPTION PASSWORD 专用寄存器将十分有用。

例 1:这个例子使用 ENCRYPTION PASSWORD 值来保存加密密码。它对雇员的社会保险号进行加密,并以经过加密的形式将其存储在 EMP 表中。

create table emp (ssn varchar(124) for bit data);

set encryption password = 'Ben123';

insert into emp (ssn) values(encrypt('289-46-8832'));

insert into emp (ssn) values(encrypt('222-46-1904'));

insert into emp (ssn) values(encrypt('765-23-3221'));

select decrypt_char(ssn) from emp;

例 2:这个例子在结合使用视图的情况下使用 ENCRYPTION PASSWORD 值来保存加密密码。下面的语句声明了 emp 表的一个视图:

create view clear_ssn (ssn) as select decrypt_char(ssn) from emp;

在应用程序代码中,我们将 ENCRYPTION PASSWORD 设置为 'Ben123',现在可以使用 clear_ssn 视图了。

上一页  1 2 3 4 5  下一页

Tags:DB 数据 加密

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接