嘿,Stack Overflow!这是我的第一篇帖子...
我正在尝试使用加盐的唯一公钥来识别用户。
- 算法 - 我应该使用uniqid()、sha256、sha512或其他什么?所有哈希值都将被加盐。NIST推荐使用SHA256,但我更愿意听听其他人的建议。
- 生成 - 使用hash(SALT + AUTO_INCREMENT_PK + CREATED_TIMESTAMP)足够吗?需要更多的熵吗?
- 我会使用电子邮件,因为它对于每个用户来说是唯一的,但用户可以修改他们的电子邮件地址。我还考虑存储signup_email,以便无需重新计算哈希值。
- MySQL存储 - 目前,我们的ID是INT(255)
auto_increment
主键。如前所述,可能有数亿个密钥。根据加密算法,我应该有一个固定大小的ID。我可以保留INT(255),还是应该使用CHAR(n)?
---------------------- 感谢阅读 :) -------------------------------