php生成12位不重复数目字字母组合会员卡号
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php生成12位不重复数目字字母组合会员卡号,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含702字,纯文字阅读大概需要2分钟。
内容图文
![php生成12位不重复数目字字母组合会员卡号](/upload/InfoBanner/zyjiaocheng/224/6919d76f9b40449a9a7f47db869f5e00.jpg)
在不查询数据库的情况下,每个会员登录进来会生成一个数字字母组合不重复的会员卡号。 分享到:
------解决方案--------------------
让人最容易想到的是使用随机数,但是你无法证明两次的结果一定不相同
MD5产生32位的结果串并且已经证明了MD5存在“碰撞”:两个不同的内容具有相同的MD5值
同样你也无法证明截断后的MD5值与原串具有相同的唯一性
因此还是使用时间作为参数比较稳妥
function foo() {当然,这个生成算法同样具有局限性。12位的36进制数最多有 pow(36, 12) 种状态
$o = $last = '';
do {
$last = $o;
usleep(10);
$t = explode(' ', microtime());
$o = substr(base_convert(strtr($t[0].$t[1].$t[1], '.', ''), 10, 36), 0, 12);
}while($o == $last);
return $o;
}
当总量超过 pow(36, 12) 时,重复还是必然发生的
内容总结
以上是互联网集市为您收集整理的php生成12位不重复数目字字母组合会员卡号全部内容,希望文章能够帮你解决php生成12位不重复数目字字母组合会员卡号所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】