Sql 存储密码哈希-varchar vs varbinary
在将密码散列存储为varchar或varbinary时是否有真正的区别(这意味着它是否有任何附加的[security]值来这样或那样做?不太一样 将其存储为Sql 存储密码哈希-varchar vs varbinary,sql,passwords,Sql,Passwords,在将密码散列存储为varchar或varbinary时是否有真正的区别(这意味着它是否有任何附加的[security]值来这样或那样做?不太一样 将其存储为varbinary将允许您使用当前代码页之外的字符。通过在varchar上使用nvarchar可以避免这种情况 将其存储为varbinary也将使数据以十六进制格式显示,但这实际上并不是任何严格的保护级别 将其存储在varbinary中的一个很好的理由是,它实际上是二进制数据,而不是字符数据——但这与保护数据本身无关 您的安全性将通过使用适当
varbinary
将允许您使用当前代码页之外的字符。通过在varchar
上使用nvarchar
可以避免这种情况
将其存储为varbinary
也将使数据以十六进制格式显示,但这实际上并不是任何严格的保护级别
将其存储在varbinary
中的一个很好的理由是,它实际上是二进制数据,而不是字符数据——但这与保护数据本身无关
您的安全性将通过使用适当的哈希算法和适当保护对相关数据库/表的访问来实现,包括确保具有适当访问级别的应用程序参数化其查询。我想我对密码安全性了解得足够多,但是我总是使用nvarchar来存储散列,最近我做了一些研究,似乎很多帖子都使用varbinary,所以我一直在想我是否遗漏了一些东西。