Skip to content

Commit 5b75aa8

Browse files
authored
Revise README for Password Strength Analyzer
Updated README to enhance clarity and detail about the password strength analyzer, including features, getting started instructions, usage, security considerations, and future improvements.
1 parent 0dbdd34 commit 5b75aa8

File tree

1 file changed

+88
-2
lines changed

1 file changed

+88
-2
lines changed

README.md

Lines changed: 88 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,88 @@
1-
# password-strength-analyzer
2-
A client-side password strength analyzer built with HTML, CSS, and JavaScript, evaluating entropy, crack time, and patterns with a secure random generator—perfect for cybersecurity portfolios
1+
# Password Strength Analyzer 🔒💻
2+
3+
A secure, client-side password strength analyzer built with vanilla HTML, CSS, and JavaScript.
4+
5+
<div align="center">
6+
7+
![GitHub last commit](https://img.shields.io/github/last-commit/eudk/password-strength-analyzer?style=for-the-badge)
8+
![Repo size](https://img.shields.io/github/repo-size/eudk/password-strength-analyzer?style=for-the-badge)
9+
![Languages](https://img.shields.io/github/languages/top/eudk/password-strength-analyzer?style=for-the-badge)
10+
![License](https://img.shields.io/github/license/eudk/password-strength-analyzer?style=for-the-badge)
11+
12+
</div>
13+
14+
<p align="center">
15+
<img src="pic.png" alt="Password Strength Analyzer Screenshot" width="700">
16+
</p>
17+
18+
---
19+
20+
## ✨ Features
21+
22+
- **Real-Time Analysis**: Evaluates passwords as you type with a 0-100 score based on:
23+
- Length (logarithmic scoring)
24+
- Character variety (lowercase, uppercase, digits, symbols)
25+
- Entropy estimation
26+
- Penalties for common passwords, sequences, repeats, and keyboard patterns.
27+
- **Crack Time Estimation**: Calculates the estimated time to crack using `BigInt` for precision (assumes 10 billion guesses/sec).
28+
- **Secure Password Generator**: Creates cryptographically random 14–20 character passwords using `crypto.getRandomValues()`. 🔐
29+
- **Client-Side Security**: **No data ever leaves your browser**, ensuring 100% privacy and security. 🛡️
30+
- **Dynamic UI**: A sleek dark theme with a responsive strength meter, background pulse effect, and a shake animation for very weak passwords.
31+
32+
---
33+
34+
## 🚀 Getting Started
35+
36+
No dependencies or build steps required. Just pure, simple web technologies.
37+
🧑‍💻 For Educational Use: This is a learning project, so please use it at your own risk.
38+
1. **Clone the repository:**
39+
```bash
40+
git clone https://github.com/eudk/password-strength-analyzer.git
41+
```
42+
2. **Open the file:**
43+
Navigate to the directory and open `index.html` in your web browser.
44+
45+
---
46+
47+
## 📝 How to Use
48+
49+
1. **Enter a Password**: Type in the input field to see the real-time analysis.
50+
2. **Review Feedback**: Check the detailed breakdown, including:
51+
- **Strength Score**: From *Very Weak* to *Very Strong*.
52+
- **Entropy**: Measured in bits.
53+
- **Crack Time**: Estimated time for an offline GPU attack.
54+
- **Actionable Tips**: Suggestions to improve your password.
55+
3. **Generate & Copy**: Use the "Generate," "Copy," and "Show/Hide" buttons for easy password management.
56+
57+
---
58+
59+
## 🛡️ Security Considerations
60+
61+
This tool was built with a security-first mindset.
62+
63+
- **Client-Side Only**: All calculations happen in your browser. No server requests are made.
64+
- **Cryptographic Randomness**: The password generator uses `crypto.getRandomValues()`, the web standard for secure random number generation.
65+
- **Pattern Detection**: The analyzer checks for common passwords from breached lists, keyboard walks (`qwerty`), sequences (`abc`), and common substitutions (`p@ssw0rd`).
66+
67+
> #### ⚠️ Safety Recommendation
68+
> This project is designed to run safely client-side. For maximum security, always clone the official repository and run `index.html` locally. Be cautious of unofficial clones hosted elsewhere, as their code may be modified. Please review the code beforehand yourself.
69+
70+
---
71+
72+
## 🎓 Why This Project?
73+
74+
As an IT security student, I built this project, to apply core cybersecurity principles to a practical web development challenge. It demonstrates skills in secure coding, UI/UX design, and algorithmic thinking without relying on external libraries.
75+
76+
---
77+
78+
## 🚧 Future Improvements
79+
80+
- [ ] Integrate the `zxcvbn` library for more advanced strength estimation.
81+
- [ ] Add comprehensive unit tests with a framework like Jest.
82+
- [ ] Enhance accessibility with more detailed ARIA labels.
83+
84+
---
85+
86+
## 📜 License
87+
88+
This project is licensed under the **MIT License**. See the `LICENSE` file for details.

0 commit comments

Comments
 (0)