This project is a password strength meter built using zxcvbn password strength estimator. It provides a visual representation of password strength to help users understand the difference between weak and strong passwords or passphrases.
- Password Strength Analysis: Estimates password strength based on common patterns and weaknesses.
- Crack Time Estimation: Displays time estimates for cracking passwords under different attack scenarios:
- Online, no rate limiting
- Online, rate-limited
- Offline, fast hashing
- Offline, slow hashing
- Local Processing: All computations are performed locally in the browser. No data is transmitted outside of your browser, ensuring user privacy.
- Educational Tool: Helps users learn about the characteristics of strong passwords and the importance of good password hygiene.
You can access the tool here.
-
Clone this repository:
git clone https://github.com/maverickg59/password-strength.git cd password-strength-meter
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open the application in your browser at
http://localhost:5173
.
To create a production build:
npm run build
Serve the production build locally:
npm run preview
This project is licensed under the MIT License.
Contributions are welcome! If you'd like to contribute:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m "Add feature"
). - Push the branch (
git push origin feature-name
). - Open a pull request.
- The MIT License for enabling open-source collaboration.
- Daniel Lowe Wheeler for writing the password strength estimation logic in zxcvbn.
- Tailwind CSS for providing their utility-first CSS framework.
- React for providing their user interface library.
- Vite for providing their fast and modern build tool and development server.
- Anchore for providing the Syft CLI used to generate the SBOM.
This tool is not intended for everyday use. It serves as an educational tool to demonstrate password strength concepts. Keep in mind that no password is truly safe; all passwords can eventually be cracked. Strong password hygiene involves making the process of cracking as challenging as possible for attackers.