SQL |加密函数
SQL Encrypt函数用于使用 UNIX crypt() 加密字符串。该函数基于 Unix crypt() 系统调用,因此它在 Windows 系统上返回 NULL。 Encrypt函数接受两个参数,即要加密的字符串和盐。
Encrypt函数返回一个二进制字符串。
句法:
ENCRYPT(string, salt)
使用的参数:
- 字符串 –用于指定要使用 UNIX crypt() 加密的纯文本字符串。
- salt –用于指定长度至少为 2 个字符的字符串,可用于加密过程。如果未提供 salt,则 ENCRYPT函数使用随机值。
返回值:
SQL 中的 Encrypt函数返回一个二进制字符串。
Encrypt函数在以下情况下返回 null:
- 如果 salt 的长度小于 2 个字符,则 Encrypt函数返回 NULL。
- 如果字符串为 NULL,则 Encrypt函数返回 NULL。
- 如果 UNIX crypt() 在系统上不可用,则 Encrypt函数返回 NULL。
支持的 MySQL 版本:
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
示例 1:在字符串上实现 Encrypt函数。
SELECT
ENCRYPT('xyz');
输出:
sf3Le/pz2ApNY
示例 2:在更大的字符串上实现 Encrypt函数。
SELECT
ENCRYPT('geeksforgeeks');
输出:
.mblNS3yOZxb2
示例 3:通过传递两个参数在字符串上实现加密函数。
SELECT
ENCRYPT('geeksforgeeks', '123');
输出:
12SrVMQf0pwFU
示例 4:通过在 salt 参数中传递少于 2 个字符来实现对字符串的加密函数。
SELECT
ENCRYPT('geeksforgeeks', '2');
输出:
NULL
由于 salt 参数的长度小于 2 个字符,因此 Encrypt函数返回 NULL。
示例 5:在 NULL字符串上实现 Encrypt函数。
SELECT
ENCRYPT(NULL);
输出:
NULL