小编TC *_*Fox的帖子

密码哈希:固定长度的二进制字段还是单个字符串字段?

我目前正在与一位朋友进行有趣的辩论,我们根本无法就在数据库中存储加盐密码的最佳方法达成一致。表上的两个选项是:

  • 将散列和盐作为字符串存储在一起,由一些约定的字符分隔(例如:“E69B4A103...598D$59FBA6”)
  • 将散列和盐存储在单独的固定长度的二进制字段中

第一个的明显优势是只需要检索一个字段,但代价是该字段明显更大(尤其是在使用 SHA512 或大盐时),并且在应用程序的后期处理字符串操作时会降低性能。

选项二的优点是体积小得多,但代价是要检索两个字段而不是一个字段的查询稍微复杂一些。

我们的问题是:对于性能是关键因素的大型数据库,哪个选项最有意义?

performance optimization database-agnostic

6
推荐指数
1
解决办法
1159
查看次数