存储密码哈希 - varchar vs varbinary

San*_*hos 4 sql passwords

在将密码哈希存储为varchar或varbinary时,是否存在真正的差异(意味着是否有任何添加的[安全]值来执行此操作或那种方式)?

Dan*_*eld 5

并不是的.

将其存储为varbinary允许您使用当前代码页之外的字符.你可以避开,通过使用nvarcharvarchar.

存储它varbinary也会使数据以十六进制格式存在,但这实际上不是任何严重的保护级别.

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

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