':param possible_hash: A string that may be a hash.
:return: True if the possible_hash has an equal (aprox.) distribution
of numbers and letters and only has hex characters (0-9, a-f)'

def _has_hash_distribution(self, possible_hash):

    numbers = 0
    letters = 0
    for char in possible_hash:
        if char.isdigit():
            numbers += 1
        elif (char in 'abcdef'):
            letters += 1
        else:
            return False
    if (numbers in range((letters - (len(possible_hash) / 2)), (letters + (len(possible_hash) / 2)))):
        is_hash = True
        for char in possible_hash:
            if (possible_hash.count(char) > (len(possible_hash) / 5)):
                is_hash = False
                break
        return is_hash
    else:
        return False
