如何生成随机的、唯一的字母数字字符串?

新手上路,请多包涵

如何使用数字和字母生成随机的唯一字符串以用于验证链接?就像您在网站上创建帐户时,它会向您发送一封带有链接的电子邮件,您必须单击该链接才能验证您的帐户

如何使用 PHP 生成其中之一?

原文由 Andrew 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 485
2 个回答

安全注意事项:此解决方案不应用于随机性质量可能影响应用程序安全性的情况。特别是 rand()uniqid() 不是加密安全的随机数生成器。请参阅 Scott 的答案 以获得安全的替代方案。

如果您不需要它随着时间的推移绝对独一无二:

md5(uniqid(rand(), true))

否则(假设您已经为您的用户确定了唯一的登录名):

 md5(uniqid($your_user_login, true))

原文由 loletech 发布,翻译遵循 CC BY-SA 3.0 许可协议

function codeGenerate() {
  $randCode  = (string)mt_rand(1000,9999);
  $randChar  = rand(65,90);
  $randInx   = rand(0,3);
  $randCode[$randInx] = chr($randChar);
  return $randCode;
}
echo codeGenerate();

输出

38I7
33V7
E836
736U

原文由 Ram Pukar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题