前言
这就是拿来玩的,其次假的就是假的,成不了真的!
代码
首先我观察了两个公众号关注后的生成openid的规则,发现了以下规则
1. OpenID都是28位
2. 前六位是有规律的
然后接下来就按着自己找的规律生成下就阔以了,之所以代码中会存在$ch
的这个变量是因为这个公众号,关注后生成的openid第七位是字母,而且大小写均有,所以就增加了这一项。
大家要是想生成自己的openid,可以依据下面的进行修改!
<?php
function open_id($head = "", $length = '', $char = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
{
if (!is_int($length) || $length < 0) {
return '$length 必须为Int类型';
}
$string = '';
for ($i = $length; $i > 0; $i--) {
$string .= $char[mt_rand(0, strlen($char) - 1)];
}
return $head.$string;
}
for ($i=0; $i < 1000; $i ) {
$ch = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$head = 'ox3E-0'.substr($ch, mt_rand(0, 31), 1);
echo open_id($head, 21),"<br />";
}