Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 函数 » SQL 函数 (A-D)

 

DECRYPT 函数 [String]

使用所提供的密钥对字符串解密,并返回 LONG BINARY 类型的值。

语法
DECRYPT( string-expression, key 
[, algorithm ] 
)
algorithm : 
'AES' 
| 'AES256' 
| 'AES_FIPS' 
| 'AES256_FIPS'
参数
  • string-expression   要解密的字符串。也可以将二进制值传递给此函数。此参数区分大小写,即使是在不区分大小写的数据库中也是如此。

  • key   string-expression 进行解密所需的加密密钥(字符串)。此密钥必须与用来对 string-expression 进行加密的密钥相同,才能获得被加密的原始值。此参数区分大小写,即使是在不区分大小写的数据库中也是如此。

    小心

    对于高度加密的数据库,请务必将密钥的副本保存在安全的位置。如果丢失了加密密钥,则无办法访问数据,即使有技术支持人员协助也如此。此时必须放弃该数据库并创建一个新的数据库。

  • algorithm   此可选参数指定最初用来加密 string-expression 所使用的算法。

返回值

LONG BINARY

注释

有关所支持加密算法的详细信息,请参见ENCRYPT 函数 [String]

可以使用 DECRYPT 函数对用 ENCRYPT 函数加密的 string-expression 进行解密。此函数返回与输入字符串字节数相同的 LONG BINARY 类型值。

要成功解密 string-expression,您必须使用对数据进行加密时所使用的密钥。如果指定的加密密钥不正确,将会生成错误。丢失密钥将导致数据无法访问,而无法访问的数据是无法进行恢复的。

注意

并非所有平台上都可以使用 FIPS。有关支持的平台的列表,请参见 [external link] http://www.sybase.com/detail?id=1062623

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下示例对 user_info 表中的用户口令进行解密。由于 DECRYPT 函数会将值转换为无法阅读的 LONG BINARY 数据类型,因此使用 CAST 函数将口令转换回 CHAR 数据类型。

SELECT CAST( DECRYPT( user_pwd, '8U3dkA' ) AS CHAR(100) ) FROM user_info;