我最近的发展使我进入了密码存储安全性,哈希函数等...
我决定将哈希函数的结果字节数组(在BINARY类型的列中)以及盐存储在数据库中,因为我想存储十六进制字符串会占用更多空间。
这种做法是否有缺点?尤其是从安全角度来看。
+----+---------+--------------+--------------+---------------+------------+
| id | login | password | salt | name | lname |
+----+---------+--------------+--------------+---------------+------------+
| 1 | myadmin | 0x8B624d85B1 | 0x248f1706f0 | Administrador | do Sistema |
+----+---------+--------------+--------------+---------------+------------+
答案 0 :(得分:3)
从安全性的角度来看,将哈希值和盐值存储为二进制而不是字符串,我看不出任何不利之处。最终所有数据都是二进制。
我会更担心您使用的是哪种哈希算法。我看不到您存储困难因素的任何地方,因此我假设您不使用BCrypt吗?如果不是这样,您可能要考虑使用它,因为这似乎是密码散列的黄金标准。