def getPage(pageNum): keyList = [] addrList = [] addrStr1 = "" addrStr2 = "" num = (pageNum - 1) * 128 + 1 try: for i in range(num, num + 128): key1 = Key.from_int(i) wif = bytes_to_wif(key1.to_bytes(), compressed=False) key2 = Key(wif) keyList.append(hex(i)[2:]) addrList.append(key2.address) addrList.append(key1.address) if len(addrStr1): addrStr1 = addrStr1 + "|" addrStr1 = addrStr1 + key2.address if len(addrStr2): addrStr2 = addrStr2 + "|" addrStr2 = addrStr2 + key1.address except: pass return [keyList, addrList, addrStr1, addrStr2]
def key_from_int_uncomp(intk): priv_key_compressed = Key.from_int(int(intk)) priv_key_uncompressed = uncompressed_key(priv_key_compressed) return priv_key_uncompressed
def test_int(intk, debug=False, do_endian=True, do_ops=True): if do_ops: test_with_prime21e_ops(intk) if do_endian: n = int(intk) n2 = int.from_bytes(n.to_bytes((n.bit_length() + 7) // 8, 'big') or b'\0', byteorder='little') #print(n, '->', n2) test_int(n2, do_endian=False, do_ops=False) # concat PRIME21E n3 = str(intk) + str(PRIME21E) n4 = str(PRIME21E) + str(intk) test_int(n3, do_endian=False, do_ops=False) test_int(n4, do_endian=False, do_ops=False) #test_int(struct.pack('>L', int(intk))) if int(intk) == 0 or int( intk ) > 115792089237316195423570985008687907852837564279074904382605163141518161494337: return 'invalid size' try: sha_hex = to_hex(intk) sha_key = right_pad_zed(sha_hex) #print(len(sha_key), sha_hex, '->', sha_key) sha_key_compressed = Key.from_hex(sha_key) sha_key_uncompressed = uncompressed_key(sha_key_compressed) priv_key_compressed = Key.from_int(int(intk)) priv_key_uncompressed = uncompressed_key(priv_key_compressed) #priv_key_compressed2 = compressed_key(int(intk)) priv_key_compressed2 = compressed_key(priv_key_compressed) #int(intk)) priv_key_compressed3 = Key.from_int(int(intk) & PRIME21E) priv_key_c2 = Key.from_bytes( b58decode( b58encode(utils.hex_to_bytes(utils.int_to_hex(int(intk)))))) priv_key_uc2 = uncompressed_key(priv_key_c2) except Exception as err: print("ERROR: test_int:", err, 'intk:', intk) traceback.print_exc(file=sys.stdout) return False """Debug: print('addrc:{} addru:{} wifc:{} wifu:{}'.format( priv_key_compressed.address, priv_key_uncompressed.address, priv_key_compressed.to_wif(), priv_key_uncompressed.to_wif(), )) """ if debug: print( intk, priv_key_compressed.address, priv_key_uncompressed.address, bytes_to_hex(priv_key_compressed.public_key), bytes_to_hex(priv_key_uncompressed.public_key), ) if test_key(sha_key_compressed): return True if test_key(sha_key_uncompressed): return True if test_key(priv_key_compressed3): return True if test_key(priv_key_compressed): return True if test_key(priv_key_compressed2): return True if test_key(priv_key_uncompressed): return True if test_key(priv_key_uc2): return True if test_key(priv_key_c2): return True return False
def key_from_int_comp(intk): return Key.from_int(int(intk))