first commit
This commit is contained in:
commit
a6230821f9
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"python.pythonPath": "/usr/bin/python3"
|
||||
}
|
68
main.py
Executable file
68
main.py
Executable file
@ -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 <key> -e <plain text>')
|
||||
print('test.py -k <key> -d <encrypted text>')
|
||||
sys.exit(2)
|
||||
for opt, arg in opts:
|
||||
if opt == '-h':
|
||||
print('test.py -k <key> -e <plain text>')
|
||||
print('test.py -k <key> -d <encrypted text>')
|
||||
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:])
|
Loading…
x
Reference in New Issue
Block a user