哈希密码字段使用哪种数据类型以及什么长度?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

哈希密码字段使用哪种数据类型以及什么长度?

2020-05-10 20:39:48 346 1

我不确定密码哈希的工作原理(稍后将实现),但现在需要创建数据库架构。

我正在考虑将密码限制为4-20个字符,但是据我了解,加密哈希字符串后的长度将不同。

那么,如何将这些密码存储在数据库中呢?

取消 提交回答
全部回答(1)
  • 保持可爱mmm
    2020-05-11 12:00:24

    更新:仅使用哈希函数不足以存储密码。您应该阅读Gilles在该主题上的答案,以获取更详细的解释。

    对于密码,请使用增强密钥的哈希算法,例如Bcrypt或Argon2i。例如,在PHP中,使用password_hash()函数(默认情况下使用Bcrypt)。

    $hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT); 结果是一个类似于以下内容的60个字符的字符串(但是数字会有所不同,因为它会生成唯一的盐)。

    $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a 使用SQL数据类型CHAR(60)存储Bcrypt哈希的这种编码。请注意,此函数不会编码为十六进制数字的字符串,因此我们无法轻松地将其以十六进制形式存储为二进制。

    其他散列函数仍具有用途,但不能用于存储密码,因此,我将在下面保留原始答案,该答案写于2008年。

    这取决于您使用的哈希算法。不管输入如何,散列总是产生相同长度的结果。通常用一系列十六进制数字表示文本中的二进制哈希结果。或者,您可以使用该UNHEX()函数将十六进制数字的字符串减少一半。

    MD5生成一个128位哈希值。您可以使用CHAR(32)或BINARY(16) SHA-1生成一个160位的哈希值。您可以使用CHAR(40)或BINARY(20) SHA-224生成224位哈希值。您可以使用CHAR(56)或BINARY(28) SHA-256生成256位哈希值。您可以使用CHAR(64)或BINARY(32) SHA-384生成384位哈希值。您可以使用CHAR(96)或BINARY(48) SHA-512生成512位哈希值。您可以使用CHAR(128)或BINARY(64) BCrypt生成依赖于实现的448位哈希值。您可能需要CHAR(56),CHAR(60),CHAR(76),BINARY(56)或BINARY(60) 自2015年起,NIST 建议在需要互操作性的哈希函数的任何应用程序中使用SHA-256或更高版本。但是NIST不建议使用这些简单的哈希函数来安全地存储密码。

    较小的散列算法有其用途(例如在应用程序内部,而不是用于交换),但是众所周知,它们是可破解的。来源:stack overflow

    0 0
相关问答

1

回答

数据清洗与入湖实验中创建数据加工时,如何查看目标库 target-1 中的日志只有 status 字

2022-05-31 13:34:07 70浏览量 回答数 1

1

回答

kubectl中资源名为validatingwebhookconfigurati的资源类型是什么呢?

2022-03-15 22:23:39 752浏览量 回答数 1

1

回答

kubectl中资源名为mutatingwebhookconfiguration的资源类型是什么呢?

2022-03-15 22:23:13 755浏览量 回答数 1

1

回答

未来阿里大数据结构链路图的发展趋势是什么?

2021-11-01 17:38:15 267浏览量 回答数 1

1

回答

File 类中用字符串形式返回目录下的指定类型的所有文件的方法是什么?

2021-10-30 15:44:02 101浏览量 回答数 1

1

回答

字符输入流的Reader 类的子类InputStreamReader 类的作用是什么?

2021-10-31 12:59:58 95浏览量 回答数 1

2

回答

有大佬知道阿里云使用了什么密码技术保证数据保密性?

2020-11-02 11:39:00 707浏览量 回答数 2

0

回答

怎么找回阿里云邮箱密码?

2019-08-14 16:26:30 219浏览量 回答数 0

2

回答

阿里云ECS怎样查看到数据库用户名以及数据库密码?

2017-06-18 22:50:11 5280浏览量 回答数 2

2

回答

雅虎转阿里云邮箱密码丢失

2015-04-24 15:58:48 5886浏览量 回答数 2
66
文章
12595
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载