<?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;
}
}
每天记录一点点