【发布时间】:2015-03-30 22:45:59
【问题描述】:
将密码哈希存储为 varchar 或 varbinary 是否有真正的区别(意味着它是否有任何添加的 [安全] 值来这样做或那样做)?
【问题讨论】:
将密码哈希存储为 varchar 或 varbinary 是否有真正的区别(意味着它是否有任何添加的 [安全] 值来这样做或那样做)?
【问题讨论】:
不是真的。
将其存储为varbinary 将允许您使用当前代码页之外的字符。你可以通过使用nvarchar 而不是varchar 来避免这种情况。
将其存储为varbinary 也会使数据以十六进制格式显示,但这实际上并不是任何严格的保护级别。
将它存储在 varbinary 中的一个很好的理由是它实际上是二进制数据,而不是字符数据 - 但这与保护数据本身无关。
您的安全将来自使用适当的散列算法并适当保护对相关数据库/表的访问,包括确保具有适当访问级别的应用程序参数化其查询。
【讨论】: