-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbulk_identity_gen.py
127 lines (100 loc) · 6.29 KB
/
bulk_identity_gen.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
119
120
121
122
123
124
125
126
127
import names
import string
import random
import pandas as pd
import datetime
class fake_identity_generator():
def generate_birthday(self):
self.day = random.randint(0,28)
self.month = random.randint(1,12)
self.year = random.randint(1970,2000)
def generate_random_name(self):
gender = ["male","female"]
self.select_gender = gender[random.randint(0,1)]
self.name_first = names.get_first_name(gender=self.select_gender)
self.name_last = names.get_last_name()
def generate_random_email(self):
email_provider_arr = ["gmail","outlook","protonmail","aol","zoho","icloud","yahoo","yandex"]
self.email_provider = email_provider_arr[random.randint(0,len(email_provider_arr)-1)]
def generate_random_password(self):
## length of password from the user
length = self.pass_length
# Do seeting for
## characters to generate password from
characters = list(string.ascii_letters + string.digits + "!@#$%^&*()")
## shuffling the characters
random.shuffle(characters)
## picking random characters from the list
password = []
for i in range(int(length)):
password.append(random.choice(characters))
## shuffling the resultant password
random.shuffle(password)
## converting the list to string
## printing the list
self.output_password = "".join(password)
def export_to_csv(self):
date = datetime.datetime.now()
data ={
"email":self.email_arr,
"password":self.pass_arr,
"first_name":self.first_name_arr,
"last_name":self.last_name_arr,
"birthday":self.bday_arr,
"gender":self.gender_arr
}
df = pd.DataFrame(data)
self.out_file = "{}_fake_identity_{}.csv".format(self.account_num,date.strftime('%d_%m_%Y'))
df.to_csv(self.out_file,index=False)
def start_generate(self):
__header__ = """
/$$$$$$$ /$$ /$$/$$ /$$ /$$ /$$$$$$/$$$$$$$ /$$$$$$$$/$$ /$$/$$$$$$$$/$$$$$$/$$$$$$$$/$$ /$$
| $$__ $| $$ | $| $$ | $$ /$$/ |_ $$_| $$__ $| $$_____| $$$ | $|__ $$__|_ $$_|__ $$__| $$ /$$/
| $$ \ $| $$ | $| $$ | $$ /$$/ | $$ | $$ \ $| $$ | $$$$| $$ | $$ | $$ | $$ \ $$ /$$/
| $$$$$$$| $$ | $| $$ | $$$$$/ | $$ | $$ | $| $$$$$ | $$ $$ $$ | $$ | $$ | $$ \ $$$$/
| $$__ $| $$ | $| $$ | $$ $$ | $$ | $$ | $| $$__/ | $$ $$$$ | $$ | $$ | $$ \ $$/
| $$ \ $| $$ | $| $$ | $$\ $$ | $$ | $$ | $| $$ | $$\ $$$ | $$ | $$ | $$ | $$
| $$$$$$$| $$$$$$| $$$$$$$| $$ \ $$ /$$$$$| $$$$$$$| $$$$$$$| $$ \ $$ | $$ /$$$$$$ | $$ | $$
|_______/ \______/|________|__/ \__/ |______|_______/|________|__/ \__/ |__/ |______/ |__/ |__/
/$$$$$$ /$$$$$$$$/$$ /$$/$$$$$$$$/$$$$$$$ /$$$$$$ /$$$$$$$$/$$$$$$ /$$$$$$$ /$$
/$$__ $| $$_____| $$$ | $| $$_____| $$__ $$/$$__ $|__ $$__/$$__ $| $$__ $$ /$$$$
| $$ \__| $$ | $$$$| $| $$ | $$ \ $| $$ \ $$ | $$ | $$ \ $| $$ \ $$ /$$ /$|_ $$
| $$ /$$$| $$$$$ | $$ $$ $| $$$$$ | $$$$$$$| $$$$$$$$ | $$ | $$ | $| $$$$$$$/ | $$ /$$/ | $$
| $$|_ $| $$__/ | $$ $$$| $$__/ | $$__ $| $$__ $$ | $$ | $$ | $| $$__ $$ \ $$/$$/ | $$
| $$ \ $| $$ | $$\ $$| $$ | $$ \ $| $$ | $$ | $$ | $$ | $| $$ \ $$ \ $$$/ | $$
| $$$$$$| $$$$$$$| $$ \ $| $$$$$$$| $$ | $| $$ | $$ | $$ | $$$$$$| $$ | $$ \ $/ /$$$$$$
\______/|________|__/ \__|________|__/ |__|__/ |__/ |__/ \______/|__/ |__/ \_/ |______/
"""
print(__header__)
self.email_arr = []
self.first_name_arr = []
self.last_name_arr = []
self.pass_arr = []
self.bday_arr = []
self.gender_arr = []
self.account_num = input("[!] Enter Number of Account Generated ? eg. 1~10000 :")
self.pass_length = 12
for i in range(int(self.account_num)):
self.generate_random_email()
self.generate_random_name()
self.generate_random_password()
self.generate_birthday()
first_name_initial = self.name_first.lower().lower()[0]
last_name_initial = self.name_last.lower()[0]
email_out = "{}{}.{}{}{}@{}.com".format(first_name_initial,last_name_initial,self.name_first,self.name_last,self.year,self.email_provider)
name_out ="{} {}".format(self.name_first,self.name_last)
pass_out = "{}".format(self.output_password)
bday_out = "{}/{}/{}".format(self.day,self.month,self.year)
gender_out = "{}".format(self.select_gender)
self.email_arr.append(email_out)
self.first_name_arr.append(self.name_first)
self.last_name_arr.append(self.name_last)
self.pass_arr.append(pass_out)
self.bday_arr.append(bday_out)
self.gender_arr.append(gender_out)
print("[{}] Email : {} , Password : {} , Name : {} , Birthday : {} , Gender : {} ".format(i,email_out,pass_out,name_out,bday_out,gender_out))
print("[!] Finish generating {} emails".format(self.account_num))
self.export_to_csv()
print("[!] Saving to CSV as {}".format(self.out_file))
print("[!] Exiting Script !")
fake_identity_generator().start_generate()