存储密码哈希 - varchar 与 varbinary

Storing password hash - varchar vs varbinary

将密码哈希存储为 varchar 或 varbinary 是否有真正的区别(意味着它是否有任何附加的 [security] 值来这样做或那样做)?

不是真的。

将其存储为 varbinary 将允许您使用当前代码页之外的字符。您可以通过在 varchar 上使用 nvarchar 来避免这种情况。

将其存储为 varbinary 也会使数据以十六进制格式显示,但这实际上不是任何严重的保护级别。

将它存储在 varbinary 中的一个很好的理由是它实际上是二进制数据,而不是字符数据 - 但这与保护数据本身无关。

您的安全将来自于使用适当的散列算法和适当保护对有问题的 database/table(s) 的访问,包括确保具有适当访问级别的应用程序参数化他们的查询。