PHP5有效的哈希生成,具有最小(无)碰撞机会

xzy*_*fer 0 php hash memcached

密码学不是我的事情所以希望这里有一些受过良好教育的人比我好.

我想在memcache中存储用户数据,我想生成一个独特的用户数据.我最初的想法是使用用户的用户名或另一个描述性较差的信息作为某种哈希的基础.

我的标准是生成过程

  • 快速
  • 在不同服务器/环境/ php版本的相同输入下生成相同的值
  • 考虑到大量的投入,几乎没有碰撞的机会(因为这将是灾难性的).

我不确定我的常用武器sha1/2是否符合这个标准,所以我在这些问题上向那些更好的经文鞠躬致敬.比抱歉更安全.

Luk*_*keH 5

如果您的用户名是唯一的,那么为什么不直接使用它们而不是尝试生成某种哈希?

  • 他们已经保证是独一无二的.
  • 它们可以按原样使用.无需额外处理.
  • 它们(可能平均而言)小于相应的SHA1哈希值.