原理,就是生成mt_rand随机种子来生成,然后利用相关函数进行读取操作
例1
代码如下 | 复制代码 |
/** * 序列号生成器 */ function snMaker($pre = '') { $date = date('Ymd'); $rand = rand(1000000,9999999); $time = mb_substr(time(), 5, 5, 'utf-8'); $serialNumber = $pre.$date.$time.$rand; // echo strlen($serialNumber).'<br />'; return $serialNumber; } echo snMaker(); /** echo hideString(); |
例2 生成注册码/序列号
以下为引用的内容:
代码如下 | 复制代码 |
<?php /* 配置 */ /* 生成随机数字串 */ /* 过滤重复串并且提取最终需要的CD-Key数量 */ /* 把最终的CD-Key写入文件 */ echo "Create $key_total key succeed!"; /* 随机函数 */ ?> |
执行上面的程序就会生成cd_key.txt文件,里面包含了类似下面的验证码:
以下为引用的内容:
573-225-374-118
691-553-280-280
969-594-607-211
251-575-776-563
280-289-739-533...
这样,就完整的达到了我们的目的,你也可以把以上随机串保存到数据库里,方便调用。灵活设置以上变量,你能够生成16位、20位的验证码。如果你有兴趣,也可以写类似 XDF8F-ADE89-D0J5C-4RTFG之类的验证码