Sau*_*mar 2 c# hash sha1 sql-server-2008
我需要将密码存储在我的 SQL 数据库中。目前不需要太高的安全性,但我计划使用 SHA1+seed 来存储密码,而不是使用带种子的 MD5 哈希。
用法仅用于网站用户登录。因此,当用户登录时,我的 C# 代码将连接盐+密码,对其进行哈希处理,然后与数据库中存储的内容进行比较。
我的问题是,在 SQL Server 中,我应该按原样存储 SHA1(40 个字符),还是将它们转换为 Base64(28 个字符)后存储?
我在网上看到的大多数 SHA1 哈希示例,似乎最终都将其转换为 Base64,但我不确定,为什么或者在编码为 Base64 后存储 SHA1 有什么好处。
SHA-1 哈希是一个 160 位值;散列解决方案将产生 20 个字节的输出,包括不可打印的字符。大多数实现在存储之前将其转换为可读格式,要么是十六进制(40 字节),要么是 base64(约 28 个字符)。
没有理由在存储之前将十六进制字符串转换为 base64,因此如果您的字符串已经是十六进制,则保持这种方式即可。
| 归档时间: |
|
| 查看次数: |
4000 次 |
| 最近记录: |