PHP 获取 QQ群 bkn 参数

由于项目需求,需要获得 QQ 群成员的信息,所以便使用 Google 找到了这个开源项目:

GitHub 项目地址:https://github.com/nasaplayer/getCurrentQQGroupList

由于我只需要 bkn 的计算代码,所以我就提取出来了

这个计算方法的位置在:https://github.com/nasaplayer/getCurrentQQGroupList/blob/master/v3/getCurrentQQ.class.php
第 177 行
<?php

$skey = '@ziDp00luu';//这个 skey 总知道获取吧,不再累述
echo getBkn($skey);//正常的话,输出的是:500891986

//计算 bkn
function getBkn($skey) {
    $hash = 5381;
    for ($i = 0, $len = strlen($skey); $i < $len; ++$i){
        $hash +=($hash << 5) + charCodeAt($skey, $i);

    }
    return $hash & 2147483647;
}

function charCodeAt($str, $index){
    $char = mb_substr($str, $index, 1, 'UTF-8');
    $value = null;
    if (mb_check_encoding($char, 'UTF-8')){
        $ret = mb_convert_encoding($char, 'UTF-32BE', 'UTF-8');
        $value = hexdec(bin2hex($ret));
    }
    return $value;
}

如无特别声明,该文章均为 现在网NowTime.cc)原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。


标签: PHP, QQ, GitHUb, bkn, 开源项目

赞 (0)

添加新评论