MySQL中用于哈希密码字段的数据类型是什么?

哈希密码数据类型取决于我们使用的哈希算法。散列算法不取决于输入大小,因为它产生的结果长度相同。它以一系列十六进制数字给出结果,我们可以借助UNHEX()函数将十六进制数字减少一半。

有多种算法和数据类型可以存储值。

  • MD5-它可以使用char(32)或BINARY(16)。

  • SHA-1-可以使用数据类型char(40)或BINARY(20)。

MD5的例子

以下是一个例子-

mysql> select MD5('This is a hashed password');

这是输出。

+----------------------------------+

| MD5('This is a hashed password') |

+----------------------------------+

| e9d4c42db40abbb4724a0047f7e91e67 |

+----------------------------------+

1 row in set (0.03 sec)

知道哈希密码的长度。

mysql>  SELECT CHARACTER_LENGTH(MD5('This is a hashed password'));

+----------------------------------------------------+

| CHARACTER_LENGTH(MD5('This is a hashed password')) |

+----------------------------------------------------+

|                                                 32 |

+----------------------------------------------------+

1 row in set (0.04 sec)

SHA-1的示例

mysql> select SHA1('This is a hashed password');

以下是输出。

+------------------------------------------+

| SHA1('This is a hashed password')        |

+------------------------------------------+

| 4e2e1a39dba84a0b5a91043bb0e4dbef23970837 |

+------------------------------------------+

1 row in set (0.00 sec)

我们可以使用character_length()函数来了解长度。

mysql>  SELECT CHARACTER_LENGTH(SHA1('This is a hashed password'));

以下是输出。

+-----------------------------------------------------+

| CHARACTER_LENGTH(SHA1('This is a hashed password')) |

+-----------------------------------------------------+

|                                                  40 |

+-----------------------------------------------------+

1 row in set (0.00 sec)

以上是 MySQL中用于哈希密码字段的数据类型是什么? 的全部内容, 来源链接: utcz.com/z/316408.html

回到顶部