Wing IDE 百度百科
1、安裝好Python,已測的是Python 2.7.10;
2、新建一個py文件CalcActivationCode.py(名字自己隨便取);
3、CalcActivationCode.py的代碼如下:
# 從本文件中 LicenseID 后的引號內把ID復制到粘貼板,安裝完后第一次運行的時候,在第二個選項輸入此LicenseID,輸入后,會給出一個Request Code,復制后粘貼到本文件的RequestCode后的引號內,再用python運行本程序即可得到激活碼,把激活碼復制粘貼到程序注冊界面即可。對于已經成功安裝過以前的5.x版的系統,卸載后再安裝,默認就已經激活。import shaimport stringBASE2 = '01'BASE10 = '0123456789'BASE16 = '0123456789ABCDEF'BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY'BASE36 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'BASE62 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'BASEMAX = string.PRintabledef 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 resdef 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 resultdef 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-165VM'#Copy the Request Code from the dialog#RequestCode='RW53C-AMJRB-4384T-FEW65'# 從本文件中 LicenseID 后的引號內把ID復制到粘貼板,安裝完后第一次運行的時候,在第二個選項輸入此LicenseID,輸入后,會給出一個Request Code,復制后粘貼到本文件的RequestCode后的引號內,再用python運行本程序即可得到激活碼,把激活碼復制粘貼到程序注冊界面即可。RequestCode='RW51D-Q4RHJ-482H4-3T98C'hasher = sha.new()hasher.update(RequestCode)hasher.update(LicenseID)digest = hasher.hexdigest().upper()lichash = RequestCode[:3] + SHAToBase30(digest)lichash=AddHyphens(lichash)#Calculate the Activation Codedata=[7,123,23,87]tmp=0realcode=''for i in data: for j in lichash: tmp=(tmp*i+ord(j))&0xFFFFF realcode+=format(tmp,'=05X') tmp=0act30=BaseConvert(realcode,BASE16,BASE30)while len(act30) < 17: act30 = '1' + act30act30='AXX'+act30act30=AddHyphens(act30)print "The Activation Code is: "+act304、運行CalcActivationCode.py,獲得激活碼Activation Code,輸入及可激活,目前親測5.1.8

新聞熱點
疑難解答