我刚刚完成了一个教程,该教程告诉我使用 hash_hmac 来散列我的密码,并将设置“true”以二进制格式输出。然后将其保存为我的 MySql 数据库中的 varbinary(32) 格式。
我花了最后一个小时处理用户登录表单,我一直难以比较输入中的散列密码和数据库中的散列密码,因为我认为我对十六进制/二进制的差异感到困惑某处。
我的问题是:以二进制格式存储密码有什么好处?它仅仅是一种节省空间的措施吗?或者它是否以某种方式提高了安全性?
如果这只是一种节省空间的措施,我想我会将它们存储为十六进制,因为对我来说它更容易使用。
谢谢