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

易语言/PHP/JS QQ BKN/GTK计算方法 第2张插图

前言

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

GTK跟BKN 据我了解是一种东西

易语言版

```.版本 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; }```
免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
如若转载,请注明出处:https://www.zxki.cn/3643.html

上一篇 2022-5-3 21:34
下一篇 2022-5-3 22:39

相关推荐

发表评论

为了防止灌水评论,登录后即可评论!

还没有评论,快来抢沙发吧!