Загрузка данных


from hashlib import sha256

import random
import string
import time


def hash(data: str) -> str:
    """ Вычисление хеша строки. """
    data = data.encode("utf-8")
    return sha256(data).hexdigest()


def mem(data: str) -> str:
    data = data.encode("utf-8")
    sha = sha256(data).hexdigest()
    print(f"\r{sha * 3}", end="")
    return sha

def main():
    """ Точка входа в программу. """
    # with open(__file__, "r", encoding="utf-8") as file:
    #     raw = file.read()
    #     print(raw)

    #     print("====================================================")

    #     print(hash(raw))

    find = input("=> ")

    length = 10

# Выбираем алфавит (буквы + цифры)
    letters = string.ascii_letters + string.digits

    # Генерируем случайную строку
    random_string = ''.join(random.choices(letters, k=length))
    print(f"[info] random_generation = '{random_string}'")

    sha = mem(random_string)
    count = 0
    while True:
        sha = mem(sha)

        if find in sha:
            # print("yo")
            print(f"\n\n\n\n[info] sha = '{sha}'")
            print(f"[info] find = '{find}'")
            print(f"[info] count = '{count}'")
            break
        
        count += 1

if __name__ == "__main__":
    try:
        start_time = time.perf_counter()

        main()

        end_time = time.perf_counter()
        execution_time = end_time - start_time
        print(f"[info] execute_time = '{execution_time:.6f}'")
    except KeyboardInterrupt:
        pass