SET ENCRYPTION PASSWORD 语句

使用 SET ENCRYPTION PASSWORD 语句来定义或重置用于字符、BLOB 或 CLOB 值的加密和解密的会话口令

GBase 8s 支持此语句,这是对 SQL 的 ANSI/ISO 标准的扩展。您可随同 ESQL/C 使用此语句。

语法

元素 描述 限制 语法
hint GETHINT 从加密的参数返回的字符串 (0 字节)≤ hint ≤(32 字节)。在 hint 中不包括 password 表达式
password 用于数据加密的口令(或多字短语) (6 字节)≤ password ≤(120 字节)。不指定您的登录口令。 表达式

用法

SET ENCRYPTION PASSWORD 语句通过内建的函数声明口令来支持数据保密性,该函数使用三重 DES 或 AES 算法来加密和解密。这些函数使得数据库可以加密的格式存储敏感的数据,防止任何不可提供秘密口令的人查看、复制或修改加密的数据。

该口令不以明文存储在数据库中,且 DBA 不可访问。此安全特性独立于“受信设施”特性。

Important: 在缺省情况下,客户端系统与 GBase 8s 之间的通信是以明文进行的。除非仅可通过安全网络才可访问数据库,DBA 必须启用加密通信支持模块(ENCCSM)来提供在数据库服务器与任何客户端系统之间的数据加密。否则,袭击者可能读取该口令并使用它来访问加密的数据。

如果网络不是安全的,则在分布式查询中的所有数据库服务器都需要启用 ENCCSM,以便口令不以明文形式传送。要获取如何启用通信支持模块(CSM)的信息,请参阅您的 GBase 8s 管理员指南

对加密的数据进行操作会比对明文数据的相应的操作缓慢,但使用此特性不影响未加密的数据。

可准备 SET ENCRYPTION PASSWORD 语句,且 EXECUTE IMMEDIATE 可处理准备好的 SET ENCRYPTION PASSWORD 语句。