易语言/PHP/JS QQ BKN/GTK计算方法

 

90488D94-0AF2-4702-8492-F3DBF905A23B.jpeg

 

易语言/php/JS QQ BKN/GTK计算方法

前言

GTK+GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。

GTKBKN 据我了解是一种东西

易语言版

.版本 2

.子程序 计算bkn, 文本型

.参数 Skey, 文本型

.局部变量 基值, 整数型

.局部变量 计数, 整数型

.局部变量 长度, 整数型

.局部变量 结果, 整数型

基值 5381

计数 0

长度 取文本长度 (Skey)

.判断循环首 (计数 长度)

    基值 基值 左移 (基值, 5) 取代码 (Skey, 计数 1)

    计数 计数 1

.判断循环尾 ()

结果 位与 (基值, 2147483647)

返回 (到文本 (结果))

JS

function getBKN(str){

   var hash = 5381;

   for(var i = 0, len = str.length; i < len; ++i)

   {

   hash += (hash << 5) + str.charAt(i).charCodeAt();

   }

   return hash & 0x7fffffff;

}

PHP

public function bkn($skey) {

    $hash = 5381;

    for ($i = 0, $len = strlen($skey); $i < $len; ++$i){

        $hash +=($hash << 5) + charCodeAt($skey, $i);

    }

    return $hash & 2147483647;

}

public 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;

}

温馨提示:本文最后更新于2022-05-04 00:31:57,某些文章具有时效性,若有错误或已失效,请在下方留言或联系零点站长
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片