import random import string def gen_random_server_port(offset: int=2199): """ Generates a valid random first and last character for a bots hostname and computes a port from these two characters. The default offset is chosen from a Sality implementation in 2011 :param offest: default value, which is added to the two ASCII values :return: sum of two ASCII characters and the default value """ firstLetter = random.choice(string.ascii_letters); lastLetter = random.choice(string.ascii_letters + string.digits); return (offset + ord(firstLetter) * ord(lastLetter));