|
|
OpenID共22位
[A-Z][0-9a-zA-Z_\-]{20}[0-9a-zA-Z]
就是 UUID 的 Base64 表记;不在末尾填充=号,并将标准Base64中的+和/分别改成了-和_
原始id
'aa_'.[0-9a-f]{12}
后面的随机数可用 md5(uniqid(null,TRUE)) 去掉前8位取12位
- include("./base62x.php");
- //原始id
- $oid = 'au_'. substr(md5(uniqid(null,TRUE)), 8, 16);
- //appid是oid的一种
- $appid = 'ap_963d3081bc38fb28';
- $openid = getOpenid($oid, $appid);
- $openid2 = Base62x::encode(md5($oid . '_' . $appid, TRUE));
- print 'oid = ' . $oid ."\n";
- print 'openid = ' . $openid ."\n";
- print 'openid2 = ' . $openid2 ."\n";
- function getOpenid($oid, $appid){
- return strtr(base64_encode(md5($oid . '_' . $appid, TRUE)), array('='=>'','+'=>'-','/'=>'_'));
- }
复制代码 |
|