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); 如果您有任何更好的建议,请告诉我.
>我会让你的数据库使用autoincrement为你处理这个问题 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 它们都是独一无二的,你可以使用它们.你不应该做任何其他事情? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |