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