enotkrutoy commited on
Commit
5cad2c5
1 Parent(s): 4d27a2b

Upload 4 files

Browse files
Files changed (4) hide show
  1. .env +0 -0
  2. app.py +53 -0
  3. requirements.txt +1 -0
  4. setup.py +12 -0
.env ADDED
File without changes
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from components.passbeaker import PasswordCracker
3
+
4
+ def crack_password(password_hash, wordlist_file, algorithm, salt, parallel, complexity, min_length, max_length, character_set, brute_force):
5
+ Cracker = PasswordCracker(
6
+ password_hash=password_hash,
7
+ wordlist_file=wordlist_file,
8
+ algorithm=algorithm,
9
+ salt=salt,
10
+ parallel=parallel,
11
+ complexity_check=complexity
12
+ )
13
+ if brute_force:
14
+ Cracker.crack_passwords_with_brute_force(min_length, max_length, character_set)
15
+ else:
16
+ Cracker.crack_passwords_with_wordlist()
17
+ return Cracker.get_statistics()
18
+
19
+ def main():
20
+ st.title("GVA Password Cracker")
21
+
22
+ st.sidebar.header("Settings")
23
+ password_hash = st.sidebar.text_input("Password Hash")
24
+ wordlist_file = st.sidebar.file_uploader("Upload Wordlist File", type=['txt'])
25
+ algorithm = st.sidebar.selectbox("Hash Algorithm", ["md5", "sha1", "sha256", "sha512"])
26
+ salt = st.sidebar.text_input("Salt (optional)")
27
+ parallel = st.sidebar.checkbox("Use Parallel Processing")
28
+ complexity = st.sidebar.checkbox("Check for Password Complexity")
29
+ min_length = st.sidebar.number_input("Minimum Password Length", min_value=1, value=1)
30
+ max_length = st.sidebar.number_input("Maximum Password Length", min_value=1, value=6)
31
+ character_set = st.sidebar.text_input("Character Set", "abcdefghijklmnopqrstuvwxyz0123456789")
32
+ brute_force = st.sidebar.checkbox("Perform Brute Force Attack")
33
+
34
+ if st.sidebar.button("Crack Password"):
35
+ cracking_spinner = st.spinner("Cracking...")
36
+ with cracking_spinner:
37
+ stats = crack_password(
38
+ password_hash=password_hash,
39
+ wordlist_file=wordlist_file,
40
+ algorithm=algorithm,
41
+ salt=salt,
42
+ parallel=parallel,
43
+ complexity=complexity,
44
+ min_length=min_length,
45
+ max_length=max_length,
46
+ character_set=character_set,
47
+ brute_force=brute_force
48
+ )
49
+ st.success(f"Password Cracked! {stats}")
50
+ st.balloons()
51
+
52
+ if __name__ == "__main__":
53
+ main()
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ streamlit==1.23.1
setup.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name="password-cracker",
5
+ version="0.1",
6
+ description="A simple Streamlit application for cracking passwords.",
7
+ author="Your Name",
8
+ packages=find_packages(),
9
+ install_requires=[
10
+ 'streamlit==1.23.1',
11
+ ],
12
+ )