📜  SQL |加密函数

📅  最后修改于: 2022-05-13 01:55:17.276000             🧑  作者: Mango

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