为内置函数ENCRYPT_TDES定义列级加密

对于使用ENCRYPT_TDES内置函数的列级加密,列中的所有加密值都使用相同的密码进行加密。

过程

定义列级加密:

  1. 创建包含EMPNO列的EMP表。 EMPNO列必须使用VARCHAR数据类型定义,必须定义为FOR BIT DATA,并且必须足够长,以容纳加密数据。 以下语句创建EMP表:

    开始通用编程接口信息。

    CREATE TABLE EMP (EMPNO VARCHAR(32) FOR BIT DATA);
    通用编程接口信息结束。
  2. 设置加密密码。 以下语句将加密密码设置为宿主变量:hv_pass:

    开始通用编程接口信息。

    SET ENCRYPTION PASSWORD = :hv_pass;
    通用编程接口信息结束。
  3. 使用内置函数ENCRYPT_TDES将加密数据插入EMP表,具体语句如下:

    开始通用编程接口信息。

    更改开始
    INSERT INTO EMP (EMPNO) VALUES(ENCRYPT_TDES('47138')); 
    INSERT INTO EMP (EMPNO) VALUES(ENCRYPT_TDES('99514')); 
    INSERT INTO EMP (EMPNO) VALUES(ENCRYPT_TDES('67391'));
    更改结束通用编程接口信息结束。
  4. 选择已解密的员工编号:

    开始通用编程接口信息。

    SELECT DECRYPT_CHAR(EMPNO) FROM EMP;
    通用编程接口信息结束。

    如果您输入正确的密码, Db2 将以解密格式返回员工编号。