【问题标题】:Storing password hash - varchar vs varbinary存储密码哈希 - varchar vs varbinary
【发布时间】:2015-03-30 22:45:59
【问题描述】:

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

【问题讨论】:

    标签: sql passwords


    【解决方案1】:

    不是真的。

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

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

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

    您的安全将来自使用适当的散列算法并适当保护对相关数据库/表的访问,包括确保具有适当访问级别的应用程序参数化其查询。

    【讨论】:

    • 我想我对密码安全性了解得够多了,但我一直使用 nvarchar 来存储哈希值,最近我做了一些研究,似乎很多帖子都使用 varbinary,所以我已经一直在想我是否错过了什么。
    猜你喜欢
    • 2015-10-07
    • 2016-10-22
    • 1970-01-01
    • 2010-11-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多