您的位置 首页 > 装修房产

【appid是什么意思】appId和appSecret生成算法

<?php

$appId = AppUtils::getAppId();

$appSecret = AppUtils::getAppSecret();

var_dump($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;

}

}


每天记录一点点

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

相关推荐