该函数用于使用 DES (数据加密标准) 算法解密加密的字符串。MySQL DES_DECRYPT 函数使用 key 来解密字符串。
DES_DECRYPT 函数返回的值是解密的字符串或 NULL。 DES_DECRYPT 函数接受两个参数,即加密字符串和用于解密该字符串的 key 字符串。
如果未给出 key_str 参数,DES_DECRYPT() 将检查加密字符串的第一个字节以确定用于加密原始字符串的 DES 密钥号,然后从 DES 密钥文件中读取密钥以解密消息。
DES_DECRYPT(crypt_str[,key_str])
crypt_str 用于指定要解密的加密字符串
key_str 用于指定用于解密加密字符串的 key
(1)不指定 key_str 参数,如下:
mysql> SELECT DES_DECRYPT(DES_ENCRYPT('hxstrive.com')); +------------------------------------------+ | DES_DECRYPT(DES_ENCRYPT('hxstrive.com')) | +------------------------------------------+ | hxstrive.com | +------------------------------------------+ 1 row in set (0.02 sec)
(2)使用 DES_DECRYPT 函数解密 DES_ENCRYPT 函数加密的密文,例如:
mysql> SELECT DES_DECRYPT(DES_ENCRYPT('hxstrive.com', 'mypass'), 'mypass'); +--------------------------------------------------------------+ | DES_DECRYPT(DES_ENCRYPT('hxstrive.com', 'mypass'), 'mypass') | +--------------------------------------------------------------+ | hxstrive.com | +--------------------------------------------------------------+ 1 row in set (0.02 sec)