龙空技术网

根据id生成邀请码,后台可解码

牙酱 56

前言:

此时兄弟们对“邀请码生成规则”大约比较珍视,兄弟们都需要了解一些“邀请码生成规则”的相关内容。那么小编在网上网罗了一些关于“邀请码生成规则””的相关知识,希望看官们能喜欢,姐妹们一起来了解一下吧!

由于一般客户端调用接口使用id作为参数,而id具有一定的连续性规律,可以通过尝试递增id的方式来获取接口的数据

为此我们可以设置一种加密方法来解决,对id数字进行加密,客户端传入加密串,后台对这个加密串进行解密

//根据id生成加密串

function createCode($id) {

$source_string = 'E5FCDG3HQA4B1NOPIJ2RSTUV67MWX89KLYZ';

$num = $id;

$code = '';

while ($num > 0) {

$mod = $num % 35;

$num = ($num - $mod) / 35;

$code = $source_string[$mod] . $code;

}

if (empty($code[3])) {

$code = str_pad($code, 4, '0', STR_PAD_LEFT);

}

return $code;

}

//根据加密串解析出id

function decryptCode($code) {

$source_string = 'E5FCDG3HQA4B1NOPIJ2RSTUV67MWX89KLYZ';

if (strrpos($code, '0') !== false) {

$code = substr($code, strrpos($code, '0') + 1);

}

$len = strlen($code);

$code = strrev($code);

$num = 0;

for ($i = 0; $i < $len; $i++) {

$num += strpos($source_string, $code[$i]) * pow(35, $i);

}

return $num;

}

标签: #邀请码生成规则