存储密码哈希 - varchar 与 varbinary
Storing password hash - varchar vs varbinary
将密码哈希存储为 varchar 或 varbinary 是否有真正的区别(意味着它是否有任何附加的 [security] 值来这样做或那样做)?
不是真的。
将其存储为 varbinary
将允许您使用当前代码页之外的字符。您可以通过在 varchar
上使用 nvarchar
来避免这种情况。
将其存储为 varbinary
也会使数据以十六进制格式显示,但这实际上不是任何严重的保护级别。
将它存储在 varbinary
中的一个很好的理由是它实际上是二进制数据,而不是字符数据 - 但这与保护数据本身无关。
您的安全将来自于使用适当的散列算法和适当保护对有问题的 database/table(s) 的访问,包括确保具有适当访问级别的应用程序参数化他们的查询。
将密码哈希存储为 varchar 或 varbinary 是否有真正的区别(意味着它是否有任何附加的 [security] 值来这样做或那样做)?
不是真的。
将其存储为 varbinary
将允许您使用当前代码页之外的字符。您可以通过在 varchar
上使用 nvarchar
来避免这种情况。
将其存储为 varbinary
也会使数据以十六进制格式显示,但这实际上不是任何严重的保护级别。
将它存储在 varbinary
中的一个很好的理由是它实际上是二进制数据,而不是字符数据 - 但这与保护数据本身无关。
您的安全将来自于使用适当的散列算法和适当保护对有问题的 database/table(s) 的访问,包括确保具有适当访问级别的应用程序参数化他们的查询。