From c1ef1f15e7304c82ea03f893a7ccdd59bff9e124 Mon Sep 17 00:00:00 2001 From: Mikolaj Lubiak Date: Mon, 16 May 2022 20:32:58 +0200 Subject: [PATCH] Added support of nonterminal usage of code. --- breakrot.py | 17 ++++++++++++----- rot.py | 13 ++++++++++--- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/breakrot.py b/breakrot.py index d6708ce..715ad08 100644 --- a/breakrot.py +++ b/breakrot.py @@ -3,8 +3,8 @@ from rot import chars from sys import argv from collections import Counter -def brkc(m: str, f: str): - t=tuple(open(f).read().splitlines()[:1000]) +def brkc(m: str, f: str, x: int): + t=tuple(open(f).read().splitlines()[:x]) decm=[] for i in range(1, len(chars)): decmsg=dec(m, i) @@ -13,7 +13,14 @@ def brkc(m: str, f: str): if x.upper() in decmsg: decm.append(decmsg) return Counter(decm) + if __name__ == "__main__": - a=argv[1] - b=argv[2] - print(brkc(a, b)) + try: + a=argv[1] + b=argv[2] + c=int(argv[3]) + except IndexError: + a=input("Give encoded text to break: ") + b=input("Give filename of file which contains wordlist: ") + c=int(input("Type how many words to read from the wordlist ('-1'=every): ")) + print(brkc(a, b, c)) diff --git a/rot.py b/rot.py index 5cb0896..79bee31 100644 --- a/rot.py +++ b/rot.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + from string import ascii_uppercase as chars from sys import argv @@ -16,7 +18,12 @@ def decrypt(s: str, i: int): if s[x].upper() == chars[y]: dec+=chars[(y-i)%len(chars)] return dec + if __name__ == "__main__": - a=argv[1] - b=int(argv[2]) - print(encrypt(a, b), decrypt(a, b)) + try: + a=argv[1] + b=int(argv[2]) + except IndexError: + a=input("Give text to encode/decode: ") + b=int(input("Type how many shifts do you want to do: ")) + print(f"Encrypted: {encrypt(a, b)}\nDecrypted: {decrypt(a, b)}")