-
Notifications
You must be signed in to change notification settings - Fork 0
/
passm.py
118 lines (93 loc) · 3.71 KB
/
passm.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import argparse
import pass_util
import sys
import getpass
import data
import os
def main():
par = argparse.ArgumentParser(description="testing",usage="[options]")
Entered_Password = getpass.getpass("Enter master key:");
n = len(sys.argv)
if pass_util.check(Entered_Password) is True:
print("Authentication Complete!")
else:
print("Accesse Denied!")
sys.exit()
par.add_argument("-a","--add",help="Add new entry",metavar="",type=int,const=1,nargs="?")
par.add_argument("-ap","--add_pass",help="Add password manually",metavar="",const=1,nargs="?")
par.add_argument("-s","--show",help="Show by site",metavar="Site's name/Domain",const=1,nargs="?")
par.add_argument("-e","--encrypt",help="Encyprt the data file.Try not to double encrypt the file.",metavar="",const=1,nargs="?")
par.add_argument("-d","--decrypt",help="Decrypt the data file.Dont forget to re-encrypt the file or the programe will fail.",metavar="",const=1,nargs="?")
args = par.parse_args()
def int_table():
print ("--------------------------")
print ("What would you like to do?")
i = input("Select ([A]dd,[S]how,[E]ncrypt,[D]ecrypt,[Q]uit) : ")
if i.upper() == "Q":
sys.exit()
if i.upper() == "S":
show()
if i.upper() == "E":
data.encrypt(Entered_Password)
print ("Your Data file has been encrypted!")
Rerun()
if i.upper() == "D":
data.decrypt(Entered_Password)
print("Your Data file has been decrypted! Make sure to re-encrypt the data file once done.")
Rerun()
if i.upper() == "A":
select = input("Do You Want To Generat A Password (Y/n) : ")
if select.upper() == "Y":
add()
if select.upper() == "N":
add_pass()
def add():
URL = input("Enter the website name :")
User = input("Enter your username for this site :")
Email=input("Enter yout e-mail used for this site :")
Pass_Len=input("What length do you want your password to be?(Default is 16) :") or 16
Assword=pass_util.password_gen(int(Pass_Len))
print("Your Data is successfully Saved.")
print("---------------------")
print("Site : "+URL)
print("Username : "+User)
print("E-mail : "+Email)
print("Password : "+Assword)
print("---------------------")
data.add(Entered_Password, URL, User, Email, Assword)
Rerun()
def add_pass():
URL = input("Enter the website name :")
User = input("Enter your username for this site :")
Email=input("Enter yout e-mail used for this site :")
Assword=input("Enter your Password for this site :")
print("Your Data is successfully Saved.")
print("---------------------")
print("Site : "+URL)
print("Username : "+User)
print("E-mail : "+Email)
print("Password : "+Assword)
print("---------------------")
data.add(Entered_Password, URL, User, Email, Assword)
Rerun()
def show():
URL = input("Which site are you trying to access?(Default = ALL) :") or "ALL"
data.show(Entered_Password, URL)
Rerun()
def Rerun():
Re_Run = input("Would you like to re-run the application?(Y/N):")
if Re_Run.upper() == "Y":
int_table()
else:
os.system('cls')
sys.exit()
if args.add:
add()
if args.add_pass:
add_pass()
if args.show:
show()
if n == 1:
int_table()
if __name__ == "__main__":
main()