DECRYPT_BINARY 函数接受类型 BLOB 或 CLOB 的 encrypted_data 大对象作为它的第一个参数。您必须指定 password 作为它的第二个参数,除非 SET ENCRYPTION 语句已经为此会话指定了由其加密了第一个参数的同一 password 作为缺省值。
如果 DECRYPT_BINARY 调用成功,则它返回包含 encrypted_data 参数的明文版本的 BLOB 或 CLOB 大对象。将解密的 BLOB 或 CLOB 对象临时地存储在 SBSPACENAME 配置参数设置指定的缺省的 sbspace 中。
如果 DECRYPT_BINARY 的第一个参数是字符数据类型的加密了的值,则 GBase 8s 调用 DECRYPT_CHAR 函数并尝试解密指定的值。
如果 DECRYPT_BINARY 的第一个参数不是加密了的值,或如果第二个参数(或由 SET ENCRYPTION 指定的缺省的 password)不是当加密第一个参数时使用了的 password,则 GBase 8s 发出错误,且 DECRYPT_BINARY 调用失败。(请参阅 GETHINT 函数 的描述,了解当您不可记起用于加密的 password 时可能采取的行动。)
请不要使用 DECRYPT_BINARY(或任何其他解密函数)来在加密的列上创建函数索引。这会将解密的值作为明文数据存储在数据库中,使得加密失去了作用。
要获取关于在 GBase 8s 数据库的列值中使用数据加密的附加信息,请参阅 加密和解密函数 和 SET ENCRYPTION PASSWORD 语句。