前言
這就是拿來玩的,其次假的就是假的,成不了真的!
代碼
首先我觀察了兩個公眾號關注后的生成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 />";
}