腾讯webqq最新password加密算法,hash算法
常常在做webqq机器人,可是最头痛的问题就是腾讯常常加一些验证串来防止robot,如今共享出最新的腾讯password加密算法和hash
算法
hash算法
def webqq_hash(i, a):
if isinstance(i, (str, unicode)):
i = int(i)
class b:
def __init__(self, _b, i):
self.s = _b or 0
self.e = i or 0 r = [i >> 24 & 255, i >> 16 & 255, i >> 8 & 255, i & 255] j = [ord(_a) for _a in a] e = [b(0, len(j) - 1)]
while len(e) > 0:
c = e.pop()
if not (c.s >= c.e or c.s < 0 or c.e > len(j)):
if c.s+1 == c.e:
if (j[c.s] > j[c.e]) :
l = j[c.s]
j[c.s] = j[c.e]
j[c.e] = l
else:
l = c.s
J = c.e
f=j[c.s]
while c.s < c.e:
while c.s < c.e and j[c.e]>=f:
c.e -= 1
r[0] = r[0] + 3&255 if c.s < c.e:
j[c.s] = j[c.e]
c.s += 1
r[1] = r[1] * 13 + 43 & 255 while c.s < c.e and j[c.s] <= f:
c.s += 1
r[2] = r[2] - 3 & 255 if c.s < c.e:
j[c.e] = j[c.s]
c.e -= 1
r[3] = (r[0] ^ r[1]^r[2]^r[3]+1) & 255
j[c.s] = f
e.append(b(l, c.s-1))
e.append(b(c.s + 1, J))
j = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A",
"B", "C", "D", "E", "F"]
e = ""
for c in range(len(r)):
e += j[r[c]>>4&15]
e += j[r[c]&15] return e def newhash(b,j):
a=j+"password error"
i=""
E=[]
while True:
if len(i)<=len(a):
i+=b
if len(i)==len(a):
break
else:
i=i[0:len(a)]
break
for c in range(len(i)):
E.append(ord(str(i[c]))^ord(str(a[c])))
a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
i = ""
for c in range(len(E)):
i+=a[E[c] >> 4 & 15]
i+= a[E[c] & 15]
return i
这个算法加密出的串是获取好友列表和群列表都须要的
password加密算法
#md5加密函数
def PCMd5(self,s):
h=hashlib.md5()
h.update(s)
return h.hexdigest()
#16进制转字符
def hex2asc(self,s):
_str="".join(s.split(r'\x'))
length=len(_str)
data=''
for i in range(0,length,2):
data+=chr(int(_str[i:i+2],16))
return data
#密码加密函数
'''
v1 是 ptui_checkVC('0','!LJV','\x00\x00\x00\x00\x00\xa1\x92\x12') 第一个參数
V2 是 ptui_checkVC('0','!LJV','\x00\x00\x00\x00\x00\xa1\x92\x12') 第二个
'''
def PasswordSecret(self,password,v1,v2,md5=True):
if md5==True:
password=self.PCMd5(password).upper()
length=len(password)
temp=''
for i in range(0,length,2):
temp+=r'\x'+password[i:i+2]
return self.PCMd5(self.PCMd5(self.hex2asc(temp)+self.hex2asc(v2)).upper()+v1).upper()
腾讯webqq最新password加密算法,hash算法的更多相关文章
- [区块链] 加密算法——Hash算法(进阶)
		为了为保证存储于区块链中的信息的安全与完整,区块链中使用了包含密码哈希函数和椭圆曲线公钥密码技术在内的大量的现代密码学技术,同时,这些密码学技术也被用于设计基于工作量证明的共识算法并识别用户. 在前边 ... 
- webqq 获得好友列表hash算法 获得最新hash的方法
		webqq获得好友列表的hash算法,大约每一个月中旬会变动一次.知道怎么获得他就能够了. js文件路径 http://web.qstatic.com/webqqpic/pubapps/0/50/eq ... 
- 关于 Spring Security 5 默认使用 Password Hash 算法
		账户密码存储的安全性是一个很老的话题,但还是会频频发生,一般的做法是 SHA256(userInputpwd+globalsalt+usersalt) 并设置密码时时要求长度与大小写组合,一般这样设计 ... 
- 浅析nodeJS中的Crypto模块,包括hash算法,HMAC算法,加密算法知识,SSL协议
		node.js的crypto在0.8版本,这个模块的主要功能是加密解密. node利用 OpenSSL库(https://www.openssl.org/source/)来实现它的加密技术, 这是因为 ... 
- Hash算法原理的简单分析
		哈希计算就是努力的把比较大的数据存放到相对较小的空间中.最常见的哈希算法是取模法.下面简单讲讲取模法的计算过程.比如:数组的长度是5.这时有一个数据是6.那么如何把这个6存放到长度只有5的数组中呢.按 ... 
- hash算法原理及应用漫谈【加图版】
		原文:https://blog.csdn.net/Tencent_TEG/article/details/103021226 提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块链 ... 
- 编程艺术第十六~第二十章:全排列/跳台阶/奇偶调序,及一致性Hash算法
		目录(?)[+] 第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题 作者:July.2011.10.16.出处:http://blog.csdn.net/v_JULY_v. 引言 ... 
- hash算法
		作者:July.wuliming.pkuoliver 说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解:第二部分为关于Hash表算法的详细阐述:第三部分为打造一个最快的Hash ... 
- 一致性Hash算法在Memcached中的应用
		前言 大家应该都知道Memcached要想实现分布式只能在客户端来完成,目前比较流行的是通过一致性hash算法来实现.常规的方法是将server的hash值与server的总台数进行求余,即hash% ... 
随机推荐
- 分享一个MD5加密工具类
			来自:http://blog.csdn.net/zranye/article/details/8234480 Es:http://blog.csdn.net/longxibendi/article/d ... 
- uva-12657 - Boxes in a Line(双向链表)
			12657 - Boxes in a Line You have n boxes in a line on the table numbered 1 . . . n from left to righ ... 
- Primefaces 中e.offset(...)问题的处理
			问题 在使用Primefaces构建的页面中,原来好好的页面莫名奇异的出现下拉框不能显示数据且点击没有反应的情况.后来通过firefox发现其JS抛出了一个e.offset(...)错误 解决方法 经 ... 
- 送给刚刚開始学cocos2d-x引擎 移植Android的同学
			刚刚開始学cocos2-x,不过依照教程把已经安了一般Android的开发环境的eclipse又一次升级到安装好cdt和ndk就花了我几十小时,差点都要放弃了. 參考博客 http://blog.cs ... 
- ios蓝牙开发(一)蓝牙相关基础知识
			蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0 ... 
- MinGW gcc 生成动态链接库 dll 的一些问题汇总 (补充)
			我以前写过一个小短文,介绍MinGW gcc 生成动态链接库 dll 的一些问题.当时写的并不全面.近期又遇到写新的问题.这里记录一下,做个补充. 通常情况下,dll 中的函数假设採用 _stdcal ... 
- std::map中函数用法集合
			1 STL的map表里有一个erase方法用来从一个map中删除掉指令的节点 2 eg: 3 map<string,string> mapTest; 4 typedef map< ... 
- js中this指向问题
			1.在全局范围内使用this的时候 它指向的是全局对象 this Window {top: Window, window: Window, location: Location, external: ... 
- Assertion failure in -[UIView layoutSublayersOfLayer:]
			Assertion failure in -[UIView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2935.137/UIView.m:8 ... 
- BZOJ 1012  最大数maxnumber
			Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ... 
