Created
October 1, 2020 13:50
-
-
Save Lauszus/c8d3f593b676a3e2ab29415e81405b6a to your computer and use it in GitHub Desktop.
Revisions
-
Lauszus created this gist
Oct 1, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,35 @@ import hashlib SCOPEID = '0000000000000000' Model = 'SDS2000X+' # Note that 'AWG' should be used for the 'FG' option # If you have the 100 MHz model, then first upgrade it to 200 MHz, then 350 MHz and finally 500 MHz bwopt = ('25M', '40M', '50M', '60M', '70M', '100M', '150M', '200M', '250M', '300M', '350M', '500M', '750M', '1000M', 'MAX', 'AWG', 'WIFI', 'MSO', 'FLX', 'CFD', 'I2S', '1553', 'PWA') hashkey = '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy' def gen(x): h = hashlib.md5(( hashkey + (Model+'\n').ljust(32, '\x00') + x.ljust(5, '\x00') + 2*((SCOPEID + '\n').ljust(32, '\x00')) + '\x00'*16).encode('ascii') ).digest() key = '' for b in h: if (b <= 0x2F or b > 0x39) and (b <= 0x60 or b > 0x7A): m = b % 0x24 b = m + (0x57 if m > 9 else 0x30) if b == 0x30: b = 0x32 if b == 0x31: b = 0x33 if b == 0x6c: b = 0x6d if b == 0x6f: b = 0x70 key += chr(b) return key.upper() for opt in bwopt: n = 4 line = gen(opt) print('{:5} {}'.format(opt, [line[i:i+n] for i in range(0, len(line), n)]))