From 179d08b55cec0a6fa2a366c1965f691690c227fa Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Tue, 17 May 2022 12:26:04 +0200 Subject: [PATCH] Added challenge 166 --- 166/ende.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 166/flag.txt.en | 1 + 166/pw.txt | 1 + 3 files changed, 62 insertions(+) create mode 100644 166/ende.py create mode 100644 166/flag.txt.en create mode 100644 166/pw.txt diff --git a/166/ende.py b/166/ende.py new file mode 100644 index 0000000..08395f9 --- /dev/null +++ b/166/ende.py @@ -0,0 +1,60 @@ + +import sys +import base64 +from cryptography.fernet import Fernet + + + +usage_msg = "Usage: "+ sys.argv[0] +" (-e/-d) [file]" +help_msg = usage_msg + "\n" +\ + "Examples:\n" +\ + " To decrypt a file named 'pole.txt', do: " +\ + "'$ python "+ sys.argv[0] +" -d pole.txt'\n" + + + +if len(sys.argv) < 2 or len(sys.argv) > 4: + print(usage_msg) + sys.exit(1) + + + +if sys.argv[1] == "-e": + if len(sys.argv) < 4: + sim_sala_bim = input("Please enter the password:") + else: + sim_sala_bim = sys.argv[3] + + ssb_b64 = base64.b64encode(sim_sala_bim.encode()) + c = Fernet(ssb_b64) + + with open(sys.argv[2], "rb") as f: + data = f.read() + data_c = c.encrypt(data) + sys.stdout.write(data_c.decode()) + + +elif sys.argv[1] == "-d": + if len(sys.argv) < 4: + sim_sala_bim = input("Please enter the password:") + else: + sim_sala_bim = sys.argv[3] + + ssb_b64 = base64.b64encode(sim_sala_bim.encode()) + c = Fernet(ssb_b64) + + with open(sys.argv[2], "r") as f: + data = f.read() + data_c = c.decrypt(data.encode()) + sys.stdout.buffer.write(data_c) + + +elif sys.argv[1] == "-h" or sys.argv[1] == "--help": + print(help_msg) + sys.exit(1) + + +else: + print("Unrecognized first argument: "+ sys.argv[1]) + print("Please use '-e', '-d', or '-h'.") + diff --git a/166/flag.txt.en b/166/flag.txt.en new file mode 100644 index 0000000..90459ae --- /dev/null +++ b/166/flag.txt.en @@ -0,0 +1 @@ +gAAAAABgUAIVI-r3OTKrDSgUJ8i3N9OzjacXZ1w4Hua00I_-Bg7gZu9Fld-TFYRiUiZlkLkChceqqpL9XnGOMO-W2-lRXpFhTkrqk9fHAvDfNkZHuZcjGPpG4xaR4mPnagzSNIrtL9tK \ No newline at end of file diff --git a/166/pw.txt b/166/pw.txt new file mode 100644 index 0000000..95eb288 --- /dev/null +++ b/166/pw.txt @@ -0,0 +1 @@ +6008014f6008014f6008014f6008014f