-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
90 lines (78 loc) · 2.13 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import os
import string
import random
def encrypt(str,r):
asc = string.ascii_letters+"@ 1234567890.+-*/<>?;:{[]}=_()&^%$#!~`,'"
if(asc.index(str)+r>len(asc)-1):
return asc[asc.index(str)+r-len(asc)]
else:
return asc[asc.index(str)+r]
def decrypt(str,r):
asc = string.ascii_letters+"@ 1234567890.+-*/<>?;:{[]}=_()&^%$#!~`,'"
return asc[asc.index(str)-r]
def encryptfile(f):
file=open(f,"r")
arr=f.split('.txt')
temp=f
f=arr[-2]
encfile=open(f+"_enc.txt","a")
encfile.truncate(0)
keyfile=open(f+".key","a")
keyfile.truncate(0)
for j in file:
str_ori=j
enc=""
key=[]
for i in str_ori:
if i=="\n":
break
r=random.randint(0,91)
enc+=encrypt(i,r)
key.append(r)
for k in range(0,len(key)):
if k==len(key)-1:
keyfile.write(str(key[k])+"\n")
else:
keyfile.write(str(key[k]) + " ")
encfile.write(enc+"\n")
file.close()
encfile.close()
keyfile.close()
os.remove(temp)
def decryptfile(f,k):
encfile=open(f,"r")
arr=k.split('.key')
temp=f
f=arr[-2]
decfile = open(f+".txt", "a")
keyfile = open(k, "r")
for str in encfile:
for keystr in keyfile:
key=keystr.split()
dec=""
for i in range(len(key)):
dec+=decrypt(str[i],int(key[i]))
decfile.write(dec+"\n")
break
decfile.close()
keyfile.close()
encfile.close()
os.remove(temp)
os.remove(k)
def insert():
try:
if open("sample.txt"):
pass
except FileNotFoundError:
print("You need to decrypt first")
encdec()
exit(0)
str = input("Enter the name of website and password separated by space\n")
if(str.count(' ')!=1):
print("Please enter a valid input")
insert()
exit(0)
file=open("sample.txt","a")
file.write(str+"\n")
print("Successfully added")
file.close()