通过对它的第一个参数应用 TDES(“三重数据加密标准”,有时也称为 DES3)算法,ENCRYPT_TDES 函数返回加密字符表达式或 BLOB 或 CLOB 值的结果的值。此算法比由 ENCRYPT_AES 函数使用的 AES 算法慢一些,但被认为更安全一些。作为加密开销所需的磁盘空间与 ENCRYPT_AES 需要的类似,但由于 ENCRYPT_TDES 的块大小更小一些,因此此算法所需空间更小一些。(要了解如何估算加密了的字符串的大小的讨论,请参阅“计算加密的数据的存储需求”计算加密的数据的存储需求。)对于 BLOB 或 CLOB 值,将加密了的对象临时地存储在 SBSPACENAME 配置参数指定的缺省的 sbspace 中。
前面段落罗列的在性能、防篡改和返回的 encrypted_data 大小方面的差异,是 ENCRYPT_TDES 与 ENCRYPT_AES 函数之间的实际差异,反过来,就下列特性而言,遵循出现在前页上 ENCRYPT_AES 的描述中出现的相同的规则、缺省值和限制:
EXEC SQL SET ENCRYPTION PASSWORD 'PERSEPHONE' WITH HINT 'pomegranate'; EXEC SQL UPDATE tabU SET colU = ENCRYPT_TDES (colU) WHERE 1=1;
此示例假设 colU 的字符数据类型有足够的大小来存储新的加密的数据,而不发生截断。(更为谨慎的示例可能在 UPDATE 之前执行适当的 ALTER TABLE 语句。)
要获取关于在 GBase 8s 数据库的列值中使用数据加密的附加信息,请参阅 加密和解密函数 和 SET ENCRYPTION PASSWORD 语句。