php 生成游戏兑换码(礼包)方法
2024-09-02 06:31:04
最近项目中要做礼包码生成,看了看网上的代码,可以使用php扩展unid
当然我这里并不是用的unid,而是使用的php自带的uniqid,人狠话不多。看代码
/** * 生成礼包接口 100W数据同时生成不重复 * @return string */ function sp_gm_get_gift_code($number) { for ($i=0;$i<$number;$i++){ $uniqid = uniqid('gm',true); $param_string = $_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'].$_SERVER['SERVER_SOFTWARE'].time().rand().$uniqid; $sha1 = sha1($param_string); for( $a=$sha1, $s = '0123456789abcdefghijklmnopqrstuvwxyz', $d = '', $f = 0; $f < 12; $g = ord( $a[ $f ] ), $d .= $s[ ( $g ^ ord( $a[ $f + 8 ] ) ) - $g & 0x1F ], $f++ ); yield $d; } }
重新优化了一下
调用方法
$result=sp_gm_get_gift_code($code_num); foreach($result as $key => $value){ echo $value; }
千万数据没测试,反正百万数据随便测试不会重复,12位兑换码也符合游戏或者其他场景中使用!
有用就用,没用别喷
最新文章
- ArcGIS Engine开发之旅09--几何对象和空间参考
- eclipse启动tomcat时设置端口
- 批处理测试局域网网络连通性ping1-255
- ios 字典转模型
- Demo学习: CustomException
- JAVA多线程实现简单的点名系统
- 【nodejs学习】0.nodejs学习第一天
- 解决gradle:download特别慢的问题
- nodejs爬虫系统
- 按钮(Buton)组价的功能和用法
- 运维之linux基础知识(一)
- 单源最短路径---Bellman-Ford算法
- java开发笔记——表映射实体类代码示例
- centos7设置rc.local开机执行命令
- Ubuntu系统实现将Jupyter notebook项目发布到GitHub
- Spring IOC(四)总结升华篇
- HTML中元素的定位方式
- Android 在闹钟开机时,如何解决开机动画没有播完就进入Launcher M
- js数据类型--对象&;数组
- 使用fork并发处理多个client的请求和对等通信p2p
热门文章
- navisworks安装未完成,某些产品无法安装的解决方法
- 3DMAX安装未完成,某些产品无法安装的解决方法
- MOOC(2)-Django开发get、post请求,返回json数据
- js-dom运动我有废话要说
- ACID原则
- [转载] 自定义标签,jsp调用java类
- Beautiful Soup的用法(五):select的使用
- [转]win7 64位下完美安装64位oracle 11g
- Angular4&mdash;&mdash;7.表单处理
- 为什么 generator 忽略第一次 next 调用的参数值呢?