首页 » PHP教程 » php生成appid技巧_appId和appSecret生成算法

php生成appid技巧_appId和appSecret生成算法

访客 2024-11-29 0

扫一扫用手机浏览

文章目录 [+]

$appId = AppUtils::getAppId();

$appSecret = AppUtils::getAppSecret();

php生成appid技巧_appId和appSecret生成算法

var_dump($appId,$appSecret);

php生成appid技巧_appId和appSecret生成算法
(图片来自网络侵删)

class AppUtils {

const PATTERN = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ1234567890';

/

@Description:

短8位UUID思想实在借鉴微博短域名的天生办法,但是其重复概率过高,而且每次天生4个,须要随机选取一个。

本算法利用62个可打印字符,通过随机天生32位UUID,由于UUID都为十六进制,以是将UUID分成8组,每4个为一组,然后通过模62操作,结果作为索引取出字符,

这样重复率大大降落。

经测试,在天生一千万个数据也没有涌现重复,完备知足大部分需求。

/

public static function getAppId() {

$shortBuffer = [];

$uuid = self::uuid();

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

$str = substr($uuid,$i 2, 2);

$x = hexdec($str);

$shortBuffer[] = self::PATTERN[$x % 0x3E];

}

$shortBuffer = implode('',$shortBuffer);

return $shortBuffer;

}

public static function uuid()

{

$chars = md5(uniqid(mt_rand(), true));

return $chars ;

}

/

天生APP Secret

/

public static function getAppSecret() {

$string = '';

for($i=0;$i<50;$i++)

{

$string .= self::PATTERN[mt_rand(0,35)]; //天生长度50的随机数

}

$appSecret = md5(substr($string,8,32));

return $appSecret;

}

}

每天记录一点点

相关文章

红帽启动php技巧_红帽LinuxRHCE90课程介绍

红帽是首个(也是环球最大、环球领先)的企业开源软件办理方案供应商,在过去 20 几年里,红帽已经成为开源社区里令人尊敬的成员,资助...

PHP教程 2024-12-09 阅读0 评论0