gpt4 book ai didi

asp.net - 在数据库中存储 SHA512 密码哈希值

转载 作者:行者123 更新时间:2023-12-02 09:35:37 27 4
gpt4 key购买 nike

在我的 ASP.NET Web 应用程序中,我使用 SHA512 对用户密码进行哈希处理。

尽管进行了很多搜索和谷歌搜索,但我不清楚应该如何将它们存储在数据库中(SQL2005) - 下面的代码显示了我如何将哈希创建为字符串的基础知识,并且我当前正在插入将其放入数据库中的 Char(88) 列中,因为这似乎是一致创建的长度

将它作为字符串保存是最好的方法吗?如果是的话,SHA512 上它总是 88 个字符(正如我在 Google 上看到的一些奇怪的东西)?

 Dim byteInput As Byte() = Encoding.UTF8.GetBytes(sSalt & sInput)
Dim hash As HashAlgorithm = New SHA512Managed()
Dim sInsertToDatabase As String = Convert.ToBase64String(hash.ComputeHash(byteInput))

最佳答案

SHA512 输出 512 位,即 64 字节。如果您愿意,可以将这 64 个字节存储在二进制列中。

如果您想在应用程序外部处理哈希,则存储 Base64 字符串会更方便,就像您现在所做的那样。 Base64 大约增加了 33% 的恒定开销,因此您可以预期字符串始终为 88 个字符。

也就是说,ASP.NET 有一个 fairly comprehensive authentication system内置的,您应该使用它。

关于asp.net - 在数据库中存储 SHA512 密码哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1828908/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com