python3 编写 WingPro7 注册机算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python3 编写 WingPro7 注册机算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1926字,纯文字阅读大概需要3分钟。
内容图文
wingpro是一款非常优秀的适用于python开发IDE软件
而且该软件的插件同样可以使用python语言编写,wingpro可以工作在Mac,Windows,Linux上
为此我使用python3写了个序列生成器,仅供学习算法使用
import random import string import hashlib BASE16 = '0123456789ABCDEF' BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY' def AddHyphens(code): return code[:5] + '-' + code[5:10] + '-' + code[10:15] + '-' + code[15:] def randomstring(size=20, chars=string.ascii_uppercase + string.digits): return ('').join((random.choice(chars) for _ in range(size))) def BaseConvert(number, fromdigits, todigits, ignore_negative=True): if not ignore_negative and str(number)[0] == '-': number = str(number)[1:] neg = 1 else: neg = 0 x = int(0) for digit in str(number): x = x * len(fromdigits) + fromdigits.index(digit) res = '' while x > 0: digit = int(x % len(todigits)) res = todigits[digit] + res x //= len(todigits) if neg: res = '-' + res return res def SHAToBase30(digest): tdigest = ('').join([c for i, c in enumerate(digest) if i // 2 * 2 == i]) result = BaseConvert(tdigest, BASE16, BASE30) while len(result) < 17: result = '1' + result return result def loop(ecx, lichash): part = 0 for c in lichash: part = ecx * part + ord(c) & 1048575 return part def getLicenseId() -> str: licenseId = AddHyphens('CN' + randomstring(18, '123456789ABCDEFGHJKLMNPQRTVWXY')) return licenseId def generateCode(licenseId: str, requestCode: str) -> str: lichash = requestCode lichash = AddHyphens(lichash[:3] + SHAToBase30(hashlib.sha1((requestCode + licenseId).encode("utf-8")).hexdigest().upper())) part5 = format(loop(221, lichash), '05x') + format(loop(13, lichash), '05x') + format(loop(93, lichash), '05x') + format(loop(27, lichash), '05x') part5 = BaseConvert(part5.upper(), BASE16, BASE30) while len(part5) < 17: part5 = '1' + part5 part5 = 'AXX' + part5 return AddHyphens(part5) if __name__=="__main__": licenseId=getLicenseId() print("License Id:"+licenseId) requestCode=input("requestCode:") print("generateCode:"+generateCode(licenseId,requestCode))
内容总结
以上是互联网集市为您收集整理的python3 编写 WingPro7 注册机算法全部内容,希望文章能够帮你解决python3 编写 WingPro7 注册机算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。