位置: 编程技术 - 正文
推荐整理分享PHP实现生成唯一会员卡号(php生成代码),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php生成代码,php生成唯一字符串,php如何实现,php 生成opcode,php如何实现,php 生成uuid,php生成guid,php生成唯一标识,内容如对您有帮助,希望把文章链接给更多的朋友!
在不查询数据库的情况下,每个会员登录进来会生成一个数字字母组合不重复的会员卡号。
效果图如下:
当我们要将一个庞大的数据进行编号时,而编号有位数限制,比如5位的车牌号、位的某证件号码、订单流水号、短网址等等,我们可以使用进制计算出符合位数的不重复的编号。
查看演示 下载源码
我们将0-Z(ABCDEFGHIJKLMNOPQRSTUVWXYZ)分别代表数值0-,如字母Z代表。这样的话我要得到一个5位的编号,最大信息量就是的5次方了,^5 = ,即最大的5位编号相当于进制的数字:。
本文中为了做演示,我们假定某俱乐部发放一批位的会员卡号,会员卡号由3位城市编号+5位卡号编码+2位校验码组成。城市编号用区号表示,如代表深圳,5位卡编号则由进制的卡编号组成,后面两位校验码则是通过一定的算法生成的,校验码的用处是可以验证卡号的合法性。这样的话,我们生成的位卡号相当于最大能满足多万会员卡号,并且是不重复唯一的卡号。
PHP
我们使用PHP进行进制转换,进制转进制。
我们定义Code类,先定义密码字典,即0-Z分别对应的数值,方法encodeID($int, $format)中参数$int表示数字,$format表示位数长度,比方encodeID(,5)表示将数字转换成5位的进制编号,而方法decodeID($ids)用于将进制的编号转换成进制的编号。
我们可以这样来生成卡号:
如上,我们就可以得到一个5位的卡编号,它实际代表着卡号是(6个8)的会员编号,而实际进行转换后是5位编号:0J1VC。
接着,我们将城市编号和校验码加上,城市编号是已经定义好的,校验码则通过一定的算法取得,本例中,我们使用简单的算法:将前三位城市编号和五位卡编号进行md5加密,然后取md5值的前2位作为校验码,这样就得到了编号后面的两位校验码。
实际应用中,可以通过数据库得到进制的编号,保证编号唯一,再将上述代码组合,最终生成一个位的不重复的会员卡号。
php 利用socket发送HTTP请求(GET,POST) 今天给大家带来的是如何利用socket发送GET,POST请求。我借用燕十八老师封装好的一个Http类给进行说明。在日常编程中相信很多人和我一样大部分时间是
教你识别简单的免查杀PHP后门 一个最常见的一句话后门可能写作这样php@eval($_POST['cmd']);或这样php@assert($_POST['cmd']);tudouya同学在FREEBUF上给出[一种构造技巧]利用php@$_++;//$_=1$__=("#"^"|");//$
整理php防注入和XSS攻击通用过滤 对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags
标签: php生成代码
本文链接地址:https://www.jiuchutong.com/biancheng/284216.html 转载请保留说明!友情链接: 武汉网站建设