数据仓库服务 GAUSSDB(DWS)-使用pgcrypto加密数据:密码哈希函数

时间:2023-11-22 14:18:16

密码哈希函数

crypt()和gen_salt()函数专用于哈希密码。crypt()执行哈希用于加密数据,gen_salt()用于生成加盐哈希。

crypt()中的算法和普通的MD5或者SHA1哈希算法存在以下不同之处:

  • crypt()中算法很慢。由于密码包含的数据量很小,这是增加暴力破解难度的唯一方法。
  • 它们使用一个随机值(称为salt,即盐值),因此这样具有相同口令的用户将得到不同的密文口令。这也是针对破解算法提供一种额外的安全保护。
  • 它们的结果中包括了算法类型,因此可以针对不同用户使用不同的算法对密码进行加密。
  • 其中一些算法具有自适应性,意味着当计算机性能变得更快时,可以调整该算法使其变得更慢,而不会产生与已有密码的不兼容性。

crypt()函数所支持的算法如下表:

表1 crypt()支持的算法

算法

密码最大长度

自适应性

Salt位数

输出结果长度

描述

bf

72

128

60

基于Blowfish的2a变种算法

md5

unlimited

×

48

34

基于MD5的加密算法

xdes

8

24

20

扩展DES

des

8

×

12

13

原生UNIX加密算法

support.huaweicloud.com/devg-820-dws/dws_04_0993.html