With the rise of the pandemic, businesses and corporations across the world have gone virtual. As such, the importance of cybersecurity has risen drastically over the past few years. We believe it is crucial for users to stay safe on the Internet, and a major factor that can aid in this is improved account security.
What it does
The signup.java class allows users to create an account with a username and password, and receive a score for the password strength that is based on a list of the most common passwords and the complexity of the password. Users must choose 2 unique security questions and answer both of them. The IP address of the user is also stored at this time. The login.java class allows users to log into their account. If users want to reset their password, they must answer at least 1 security question correctly. If they fail to do so, they will be locked out for a period of time. If the user chooses not to reset their password and incorrectly types their username and password 5 times, they will also be locked out. If the username and password are correct but the IP address doesn't match the one used to create the account, users must answer a security question correctly or they will be locked out. All of the users and their information are stored in a CSV file.
How we built it
Challenges we ran into
It was a challenge to come up with and code for the various scenarios that threaten users' security. Creating the GUI on an unfamiliar platform was also difficult.
Accomplishments that we're proud of
We are proud to have created two functional classes in one day, as well as a visually appealing GUI. We applied advanced programming techniques by using HashMaps, reading and writing CSV files, and locking users out for a period of time under specific circumstances.
What we learned
We learned a lot about cybersecurity and discovered new programming platforms. We also learned how to get users' IP addresses and how to format a GUI.
What's next for Password Protector
After the user successfully signs up or logs in, they should be directed to a home page. Users should also be able to set hints when they create their account. The scoring system for the password strength can be improved. We can also make improvements to our GUI.
We are a group of four high school students under the age of 18. Our names are Celina Rodriguez, Ethan Zheng, Julia Duan, and Sarika Ahire.