From a6230821f962da068e8c52b14f18e85afcfcdbbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phillip=20K=C3=BChne?= Date: Mon, 29 Oct 2018 22:05:49 +0100 Subject: [PATCH] first commit --- .vscode/settings.json | 3 ++ main.py | 68 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .vscode/settings.json create mode 100755 main.py diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..615aafb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "/usr/bin/python3" +} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100755 index 0000000..13ac3c2 --- /dev/null +++ b/main.py @@ -0,0 +1,68 @@ +#!/usr/bin/python3 +import sys, getopt + +def encrypt(string,key): + lowerstr=string.lower() + print("Encrypting "+lowerstr+" with key "+key) + strnums = [] + keynums = [] + resultnums = [] + resultstring = "" + for c in lowerstr: + strnums.append(ord(c)-97) + print(strnums) + for c in key: + keynums.append(ord(c)-97) + print(keynums) + keypointer=0 + for n in strnums: + resultnums.append((n+keynums[keypointer])%26) + keypointer = (keypointer+1) % (len(key)) + print(resultnums) + for c in resultnums: + resultstring = resultstring+chr(c+97) + print(resultstring) + +def decrypt(string,key): + lowerstr=string.lower() + print("Decrypting "+lowerstr+" with key "+key) + strnums = [] + keynums = [] + resultnums = [] + resultstring = "" + for c in lowerstr: + strnums.append(ord(c)-97) + print(strnums) + for c in key: + keynums.append(ord(c)-97) + print(keynums) + keypointer=0 + for n in strnums: + resultnums.append((n-keynums[keypointer])%26) + keypointer = (keypointer+1) % (len(key)) + print(resultnums) + for c in resultnums: + resultstring = resultstring+chr(c+97) + print(resultstring) + +def main(argv): + key = "" + try: + opts, args = getopt.getopt(argv,"hk:e:d:",["key=","encrypt=","decrypt="]) + except getopt.GetoptError: + print('test.py -k -e ') + print('test.py -k -d ') + sys.exit(2) + for opt, arg in opts: + if opt == '-h': + print('test.py -k -e ') + print('test.py -k -d ') + sys.exit() + elif opt in ("-k", "--key"): + key = arg + elif opt in ("-e", "--encrypt"): + encrypt(arg,key) + elif opt in ("-d", "--decrypt"): + decrypt(arg,key) +if __name__ == '__main__': + main(sys.argv[1:]) \ No newline at end of file