张英军 發表於 2019-7-1 16:10:00

PHP——仿造微信OpenId

<h1 id="前言">前言</h1>
<p>这就是拿来玩的,其次假的就是假的,成不了真的!</p>
<h1 id="代码">代码</h1>
<p>首先我观察了两个公众号关注后的生成openid的规则,发现了以下规则</p>
<p><code>1. OpenID都是28位</code></p>
<p><code>2. 前六位是有规律的</code></p>
<p>然后接下来就按着自己找的规律生成下就阔以了,之所以代码中会存在<code>$ch</code>的这个变量是因为这个公众号,关注后生成的openid第七位是字母,而且大小写均有,所以就增加了这一项。<br>
大家要是想生成自己的openid,可以依据下面的进行修改!</p>
<pre><code>&lt;?php


function open_id($head = "", $length = '', $char = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
{
    if (!is_int($length) || $length &lt; 0) {
      return '$length 必须为Int类型';
    }

    $string = '';
    for ($i = $length; $i &gt; 0; $i--) {
      $string .= $char;
    }

    return $head.$string;
}


for ($i=0; $i &lt; 1000; $i++) {
    $ch = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $head = 'ox3E-0'.substr($ch, mt_rand(0, 31), 1);
    echo open_id($head, 21),"&lt;br /&gt;";
}

</code></pre>
<h1 id="效果">效果</h1>
<p><img src="https://img2018.cnblogs.com/blog/1334215/201907/1334215-20190704103912152-1039374216.png" alt="" loading="lazy"></p>


</div>
<div id="MySignature" role="contentinfo">
    学无止境,谦卑而行.<br><br>
来源:https://www.cnblogs.com/wangyang0210/p/11114533.html
頁: [1]
查看完整版本: PHP——仿造微信OpenId