PHP:生成唯一用户密钥的选项

前端之家收集整理的这篇文章主要介绍了PHP:生成唯一用户密钥的选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
经过几天研究哈希,生成随机数或唯一密钥,我现在有点困惑.

我还有一件事我想要正确使用哪个是用户密钥.我想为在我的网站上注册的每个会员/用户存储一个唯一的密钥.所以这个密钥必须是唯一的,不能重复.我正在考虑使用用户电子邮件并将其与时间或其他东西一起散列…

然后我想知道哪个是创建这样一个密钥的最佳方式 –

我能用hash_hmac()为我做这个吗?

我有几件事情不明白hash_hmac() – 就像在这个例子中来自PHP.net hash_hmac(‘ripemd160′,’快速棕色狐狸跳过懒狗.’,’秘密’);

那么什么是“秘密” – 我可以把任何不同的东西改成,比如时间吗?
我认为我可以取代’快速的棕色狐狸跳过懒狗.’用电子邮件地址?

或者我可以使用Portable PHP password hashing framework来做到这一点?

唯一的事情是它产生.,$和/我需要删除它们,否则当我从URL请求密钥时我会收到错误.

所以我可能会这样做 –

$hash = $PHPass -> HashPassword('me@example.com'.$timedate)
$key = preg_replace("/[^a-zA-Z0-9]+/","",$hash);

如果您有任何更好的建议,请告诉我.

I have one last thing that I want to
get it right which is the user key. I
want to store an unique key for each
member/ user who registers at my
website. So this key must be unique
and not duplicate. I am thinking to
use the user email and hash it with
timedate or something

>我会让你的数据库使用autoincrement为你处理这个问题
>您也可以使用uniqid:md5(uniqid(rand(),TRUE));

index.PHP文件

for ($i=0;$i<10;$i++) {
    echo md5(uniqid(rand(),TRUE)) . "\n";
}

输出

PHP index.PHP 
ba0d9aad1ff0ceadf4b25f101099b91e
b5a6db5e174b426061d3d3835a6fcaea
54be6d3a03e0590917ed20b097442e3a
6e208a61eae8cfd102d4a41decf0f64e
2cafac5402815af87e8299e5e67016bd
95e839097a566471c70fe357e5a101d2
c6908532bda6f926debdda754b02f931
aac7adf999dd4dd009f208b176ea90d0
1ed7779229e57b05adc088b375582cfb
e016a684564d5cdb89201ebab1038609

它们都是独一无二的,你可以使用它们.你不应该做任何其他事情?

猜你在找的PHP相关文章