Goal
Hackers have many tools in their tool belts that can help crack your passwords and expose your valuable data; ie. credit card information and/or private conversations. So it is essential for individuals on the internet to choose a password that is strong and can protect against popular, malicious password attacks. However, a good password can't help you against phishing attacks, and that is why anyone from an experienced software engineer to a grandmother who only checks her email should have a good understanding of the best practices for password creation and how to keep that password out of the hands of a hacker.
The Approach
After brainstorming and blackboarding our initial concept and project idea, we decided how to implement it by weighing our various design options; (1) website or app, (2) back-end, front-end, or full-stack, and (3) desired languages, frameworks, and libraries. We determined that a front-end website written in HTML, CSS, and Javascript that can generate passwords through particular specs such as length and types of accepted characters (ie. numbers, special characters, and letters), as well as evaluating passwords given by the user, would be a useful and simple tool for ensuring strong password use.
Determining password strengths was calculated by testing the password against the top 14 million used passwords and by complexity of the password based on used characters; a password with only numbers has 10^N combinations where N = the length, opposed to letter and number which has 36^N combinations. Therefore, by testing against known passwords and calculating number of combinations based on length, determining password complexity is possible.
Dividing tasks amongst teammates, we were able to separate the website into parts using the Github repository; such as UI/UX designs, documentation, and programming the core password generation and analyzation processes in Javascript. After the website's main features were implemented and tested, the website's UI/UX were refined in order to maximize user experience.
Functionality
Generating a Strong Password:
- Select a desired length of the password
- Select the characters that should be included within the password
- Keep generating passwords until you find one you like
Evaluating Your Passwords:
- Enter a password into the textbox labeled "Enter Password" with any desired password
- The password will be analyzed and return the password's strength
- Keep entering passwords until you reach your desired strength
Accomplishments That We're Proud Of
Although all team members had experience in programming, the skills of each individual differed. Understanding how to interlock each person's preferred languages and comfort zones while also making sure each team member experienced something new and unknown started as an unsolved puzzle; leaving a member with too many unknowns will risk unneeded inefficiency while sticking strictly to a comfort zone would sacrifice learning. But, by careful planning and being honest with our skills, we were able to find the right balance and allowed everyone to shine at what they are good at and step into new territories such as learning a new language or understanding core computer science concepts such as cryptology.
What We Learned
Building a website from the ground up within a 24 hour time frame was no easy task. In doing so, we learnt a lot about coordinating and assigning tasks and doing them at a speed neither one of us had done before, without letting go of the quality. Being able to communicate effectively and take the time to teach others exposed itself as a necessity for succeeding in making sure every member could conceptually visualize and understand how to accomplish their tasks.
What's Next For DiamondSec
In this day and age, everyone deserves to keep their sensitive data safe from potential hackers. Using our tool, everyone can make their passwords as unbreakable as diamonds.
At DiamondSec, we are committed to providing our customers with the most secure and user-friendly password generation solutions on the market. As we look to the future, we are focused on the following objectives to continue to grow DiamondSec and promote password protection to the world. One of the objectives we wish to pursue is to implement Artificial Intelligence and Machine Learning to create even more secure and sophisticated password generation algorithms. Moreover, we would like to implement our app for mobile devices, which are more accessible to the general population, to ensure that our customers can securely generate and manage their passwords on-the-go. Furthermore, we wish to seek out and establish partnerships and collaborations with other leading companies in the cybersecurity industry to continue to provide the best possible solutions to our customers.
By pursuing these future endeavours, we are confident that we will continue to lead the way in password generation and help our users protect their online identities with the highest level of security."
Log in or sign up for Devpost to join the conversation.