Skip to content

加密表

语法格式

ENCRYPT TABLE table_name  BY encry_name|encry_id

参数解释

参数名称参数解释
table_name加密的表
encry_name加密机名称
encry_id加密机编号

执行步骤

  1. 登录SYSSSO用户创建加密机。
  2. 登录SYSDBA用户创建表,并插入数据。
  3. 查看存储文件下存储加密情况和未加密存储情况。
  4. 对表进行加密。
  5. 查看存储文件下存储加密情况和未加密存储情况。

预期结论

  • 步骤3中能够明文查询到表中的数据。
  • 步骤5加密后不再能明文查询到表中的数据。

示例

  • 示例1

    sql
    --使用SYSDBA用户创建测试库TEST_USER,在库中创建表TAB1
    SQL> CREATE DATABASE test_user;
    
    SQL> USE test_user
    
    SQL> CREATE TABLE TAB1(enc VARCHAR);
    
    SQL> INSERT INTO TAB1 VALUES('wasdwasdwasd001');
    
    SQL> CHECKPOINT;
    • 上述示例,在未使用加密机加密存储文件情况下,数据“wasdwasdwasd001”在数据库存储文件中以明文方式进行存储。
    • 使用加密机“ENCRYPTOR3”加密表“TAB1”中数据。
  • 示例2

    sql
    --使用SYSDBA用户
    
    SQL> ENCRYPT TABLE TAB1 BY 'ENCRYPTOR3';
    
    SQL> USE SYSTEM
    
    SQL> SELECT table_name,encry_id FROM SYS_TABLES WHERE table_name='TAB1';
    
    TABLE_NAME | ENCRY_ID |
    ------------------------------------------------------------------------------
    TAB1| 4 |

    上述示例,使用加密机加密存储文件情况下,表中内容在数据库存储文件中以密文方式进行存储,已无法查询到数据“wasdwasdwasd001”。