it is complete

This commit is contained in:
lda committed 2025-05-16 22:26:29 +07:00
1 parent e115c7bee9
commit 039af0b541
1 file changed
+53
+53
View File
@@ -0,0 +1,53 @@
from itertools import repeat
import random
import argparse
import difflib
from typing import Generator, Tuple
parser = argparse.ArgumentParser(
description="program that makes random ass keys for transformation of text"
)
## there is input file, output file and potentially a list of numbers from -256 to 256.
def index_list(range: range, length: int, seed=None) -> Generator[int, None, None]:
"put in a range obj (`range(1, 19, 2)`) for range"
if seed is not None:
random.seed(seed)
return (random.choice(range) for _ in repeat(None, length))
def funky_function(
text_in, text_out, seed=None
) -> Generator[Tuple[int, int], None, None]:
range_text_in = range(len(text_in))
len_text_out = len(text_out)
for id_out, id_in in enumerate(index_list(range_text_in, len_text_out, seed)):
val_in = text_in[id_in]
val_out = text_out[id_out]
yield id_in, ord(val_out) - ord(val_in)
def rebuild(text_in, this: Generator[Tuple[int, int], None, None]):
for ind, offset in this:
val_in = text_in[ind]
yield chr(ord(val_in) + offset)
str1 = "hello world"
# str1 = input("what is the message in: ")
str2 = "this shit is ass"
# str2 = input("what is the message out: ")
ahh_key = list(funky_function(str1, str2))
# print("the key:")
print(ahh_key)
# [(6, -3), (7, -7), (6, -14), (5, 83), (5, 0), (0, 11), (7, -7), (8, -9), (1, 15), (6, -87), (7, -6), (6, -4), (5, 0), (6, -22), (8, 1), (4, 4)]
# print("the key works:")
print("".join(rebuild(str1, (i for i in ahh_key))))
# this shit is ass