zoukankan      html  css  js  c++  java
  • python ide ---wing 注册机

    注册机脚本代码如下:

    import sha
    import string
    BASE2 = '01'
    BASE10 = '0123456789'
    BASE16 = '0123456789ABCDEF'
    BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY'
    BASE36 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    BASE62 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'
    BASEMAX = string.printable
    def BaseConvert(number, fromdigits, todigits, ignore_negative = True):
        """ converts a "number" between two bases of arbitrary digits
        
        The input number is assumed to be a string of digits from the
        fromdigits string (which is in order of smallest to largest
        digit). The return value is a string of elements from todigits
        (ordered in the same way). The input and output bases are
        determined from the lengths of the digit strings. Negative 
        signs are passed through.
        
        decimal to binary
        >>> baseconvert(555,BASE10,BASE2)
        '1000101011'
        
        binary to decimal
        >>> baseconvert('1000101011',BASE2,BASE10)
        '555'
        
        integer interpreted as binary and converted to decimal (!)
        >>> baseconvert(1000101011,BASE2,BASE10)
        '555'
        
        base10 to base4
        >>> baseconvert(99,BASE10,"0123")
        '1203'
        
        base4 to base5 (with alphabetic digits)
        >>> baseconvert(1203,"0123","abcde")
        'dee'
        
        base5, alpha digits back to base 10
        >>> baseconvert('dee',"abcde",BASE10)
        '99'
        
        decimal to a base that uses A-Z0-9a-z for its digits
        >>> baseconvert(257938572394L,BASE10,BASE62)
        'E78Lxik'
        
        ..convert back
        >>> baseconvert('E78Lxik',BASE62,BASE10)
        '257938572394'
        
        binary to a base with words for digits (the function cannot convert this back)
        >>> baseconvert('1101',BASE2,('Zero','One'))
        'OneOneZeroOne'
        
        """
        if not ignore_negative and str(number)[0] == '-':
            number = str(number)[1:]
            neg = 1
        else:
            neg = 0
        x = long(0)
        for digit in str(number):
            x = x * len(fromdigits) + fromdigits.index(digit)
    
        res = ''
        while x > 0:
            digit = x % len(todigits)
            res = todigits[digit] + res
            x /= len(todigits)
    
        if neg:
            res = '-' + res
        return res
    
    def SHAToBase30(digest):
        """Convert from a hexdigest form SHA hash into a more compact and
        ergonomic BASE30 representation.  This results in a 17 'digit' 
        number."""
        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 AddHyphens(code):
        """Insert hyphens into given license id or activation request to
        make it easier to read"""
        return code[:5] + '-' + code[5:10] + '-' + code[10:15] + '-' + code[15:]
    
    LicenseID='ENX27-HWM6G-XYVFA-165PG'
    #Copy the Request Code from the dialog
    RequestCode='RM51H-5FKHD-WCP2Q-6XW7A'
    hasher = sha.new()
    hasher.update(RequestCode)
    hasher.update(LicenseID)
    digest = hasher.hexdigest().upper()
    lichash = RequestCode[:3] + SHAToBase30(digest)
    lichash=AddHyphens(lichash)
    
    #Calculate the Activation Code
    data=[7,123,23,87]
    tmp=0
    realcode=''
    for i in data:
        for j in lichash:
            tmp=(tmp*i+ord(j))&0xFFFFF
        realcode+=format(tmp,'=05X')
        tmp=0
    
    act30=BaseConvert(realcode,BASE16,BASE30)
    while len(act30) < 17:
        act30 = '1' + act30
    act30='AXX'+act30
    act30=AddHyphens(act30)
    print "The Activation Code is: "+act30
    
    raw_input()
    

    然后运行wing,输入第一步key:ENX27-HWM6G-XYVFA-165PG,此时会跳转到下一个页面,从页面copy一串request code,替换上面脚本里的RM51H-5FKHD-WCP2Q-6XW7A,运行注册脚本,会生成一个序列号,输入后,完工!

    From:http://blog.csdn.net/rbagglo/article/details/39180203



  • 相关阅读:
    kitten编程猫 学习教程(一) 学习笔记
    华为中国生态大会2021举行在即,GaussDB将重磅发布5大解决方案
    华为云官网负责人明哥:我们是如何做到门面不倒,8个月挑战业界翘楚?
    为啥你写的代码总是这么复杂?
    云图说|不要小看不起眼的日志,“小日志,大作用”
    如何高效地存储与检索大规模的图谱数据?
    华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)
    开发者必看,面试官心中的最佳数据库人才模型是什么样?
    华为云PB级数据库GaussDB(for Redis)揭秘第九期:与HBase的对比
    技术实践丨如何解决异步接口请求快慢不均导致的数据错误问题?
  • 原文地址:https://www.cnblogs.com/xiaobaichuangtianxia/p/5949195.html
Copyright © 2011-2022 走看看