jencrypto/main.py

60 lines
1.4 KiB
Python

import string
class wrongkey(Exception):
pass
def getlibrary1():
library = {}
for i in range(len(string.printable)):
library[string.printable[i]] = i
return library
def getlibrary2():
library = {}
for i in range(len(string.printable)):
library[i] = string.printable[i]
return library
def tonumber(target):
library = getlibrary1()
temp = ""
for i in target:
temp = temp + str(library[i])
return temp
def tostring(target):
library = getlibrary2()
return library[int(target)]
def encrypt(key, target):
key2 = tonumber(key)
out = []
for i in target:
out.append(int(key2)+int(tonumber(i)))
return out
def decrypt(key, target):
key2 = tonumber(key)
out = []
for i in target:
try:
out.append(tostring(int(i)-int(key2)))
except KeyError:
raise wrongkey("the key is wrong please try again! ")
temp = ""
for i in out:
temp = temp + i
return temp
if __name__ == "__main__":
file = open("log.txt", 'a')
target = input("to encrypt: ")
file.write("\nto encrypt: "+target)
key = input("key: ")
file.write("\nkey: "+key)
target = encrypt(key, target)
file.write("\nencrypted: "+str(target))
print("encrypted {}".format(target))
out = decrypt(input("decrypt key: "), target)
print("decrypted {}".format(out))
file.write("\ndecrypted: "+out)
file.close()