存储哈希密码字节而不是字符

时间:2018-09-06 13:54:10

标签: security hash binary passwords password-hash

我最近的发展使我进入了密码存储安全性,哈希函数等...

我决定将哈希函数的结果字节数组(在BINARY类型的列中)以及盐存储在数据库中,因为我想存储十六进制字符串会占用更多空间。

这种做法是否有缺点?尤其是从安全角度来看。

+----+---------+--------------+--------------+---------------+------------+
| id | login   | password     | salt         | name          | lname      |
+----+---------+--------------+--------------+---------------+------------+
|  1 | myadmin | 0x8B624d85B1 | 0x248f1706f0 | Administrador | do Sistema |
+----+---------+--------------+--------------+---------------+------------+

1 个答案:

答案 0 :(得分:3)

从安全性的角度来看,将哈希值和盐值存储为二进制而不是字符串,我看不出任何不利之处。最终所有数据都是二进制。

我会更担心您使用的是哪种哈希算法。我看不到您存储困难因素的任何地方,因此我假设您不使用BCrypt吗?如果不是这样,您可能要考虑使用它,因为这似乎是密码散列的黄金标准。