Skip to content

7SMS/Password-Strength-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CipherGuard — Password Security Platform

License React TypeScript Vite TailwindCSS

Enterprise-grade password strength analysis platform with real cryptographic methodologies, breach intelligence, and attack simulation.

Developed by 7SM


Screenshots

Main Dashboard — Empty State

CipherGuard Empty State

Live Password Analysis — Heatmap & Strength Meter

CipherGuard Active Analysis

Security Score — 6-Category Breakdown

CipherGuard Security Score

Deep Analysis — Entropy · Crack Time · Breach Detection

CipherGuard Deep Analysis

Attack Simulation & Password Generator

CipherGuard Generator


Overview

CipherGuard is a professional cybersecurity application that goes far beyond basic password checkers. It provides real-time analysis using actual security methodologies, integrates with the Have I Been Pwned breach database, and delivers an enterprise-grade user experience.


Features

Core Analysis

  • Live Password Analysis — Real-time feedback as you type with 150ms debounce
  • Security Score (0–100) — Weighted multi-dimensional scoring system
  • Entropy Calculation — Mathematical bits-of-entropy with pool size analysis
  • 6-Category Breakdown — Complexity, Entropy, Predictability, Exposure Risk, Length, Uniqueness
  • Pattern Detection — 9 attack pattern types including keyboard walks, leet-speak, date patterns

Attack Intelligence

  • Crack Time Estimates — 6 attack scenarios (online, offline bcrypt, offline MD5, GPU cluster, quantum)
  • Attack Simulation — Interactive terminal-style simulation of real attack vectors
  • Password Heatmap — Character-by-character color analysis visualization

Breach Detection

  • Have I Been Pwned Integration — Checks against 14B+ compromised passwords
  • k-Anonymity Model — Only first 5 chars of SHA-1 hash sent — your password never leaves your device
  • Breach Count Display — Shows exact exposure count

Password Generation

  • 3 Generation Modes — Random (max entropy), Passphrase (memorable), Pronounceable
  • Configurable Options — Length 8–64, character types, ambiguous char exclusion
  • Cryptographically Secure — Uses Web Crypto API (crypto.getRandomValues)

UX & Design

  • Dark Cybersecurity Aesthetic — Deep blacks, cyan/blue highlights, glassmorphism
  • Framer Motion Animations — Smooth transitions, animated gauges, count-up numbers
  • Responsive Design — Desktop sidebar + mobile hamburger navigation
  • Privacy-First — All analysis runs locally, passwords never stored
  • Export Report — Download full security report as .txt

Tech Stack

Layer Technology
Frontend Framework React 18 + TypeScript
Build Tool Vite 5
Styling Tailwind CSS 3
Animations Framer Motion 11
Password Analysis zxcvbn
Charts Recharts
Icons Lucide React
Backend Node.js + Express (optional HIBP proxy)
Breach Detection Have I Been Pwned API

Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Frontend Setup

cd frontend
npm install
npm run dev

The app will start at http://localhost:3000

Backend Setup (Optional)

The backend is an optional HIBP proxy. The frontend can call HIBP directly (k-anonymity is maintained either way).

cd backend
npm install
npm start

The API will run at http://localhost:3001


Project Structure

Password Strength Analyzer/
├── screenshots/                 # App screenshots
├── frontend/
│   ├── src/
│   │   ├── components/          # UI components
│   │   │   ├── LoadingScreen.tsx
│   │   │   ├── Sidebar.tsx
│   │   │   ├── PasswordInput.tsx
│   │   │   ├── StrengthMeter.tsx
│   │   │   ├── PasswordHeatmap.tsx
│   │   │   ├── SecurityScore.tsx
│   │   │   ├── EntropyCard.tsx
│   │   │   ├── CrackTimeCard.tsx
│   │   │   ├── BreachDetection.tsx
│   │   │   ├── AttackSimulation.tsx
│   │   │   ├── PasswordGenerator.tsx
│   │   │   └── SecurityTips.tsx
│   │   ├── hooks/               # React hooks
│   │   │   ├── usePasswordAnalysis.ts
│   │   │   └── useBreachDetection.ts
│   │   ├── services/            # External API services
│   │   │   └── hibpService.ts
│   │   ├── utils/               # Core analysis engine
│   │   │   ├── passwordAnalyzer.ts
│   │   │   ├── entropyCalculator.ts
│   │   │   ├── crackTimeEstimator.ts
│   │   │   ├── patternDetector.ts
│   │   │   ├── passwordGenerator.ts
│   │   │   └── reportExporter.ts
│   │   ├── types/               # TypeScript interfaces
│   │   │   └── index.ts
│   │   ├── App.tsx
│   │   ├── main.tsx
│   │   └── index.css
│   ├── package.json
│   ├── tailwind.config.js
│   ├── vite.config.ts
│   └── index.html
└── backend/
    ├── server.js
    └── package.json

Security Methodology

Scoring Algorithm

The overall score (0–100) is a weighted average of 6 categories:

Category Weight Description
Entropy 25% Mathematical randomness bits
Complexity 20% Character type diversity
Length 20% Character count score
Predictability 20% Resistance to pattern attacks
Uniqueness 10% Unique character ratio
Exposure Risk 5% zxcvbn-based heuristic

Entropy Calculation

Pool Size = 26 (lower) + 26 (upper) + 10 (digits) + 32 (symbols) [as applicable]
Base Entropy = length × log₂(poolSize)
Effective Entropy = Base × repetitionFactor × sequentialPenalty

Crack Time Estimation

Scenario Speed Description
Online (throttled) 100/sec Rate-limited login
Online (fast) 10K/sec Unprotected service
Offline (bcrypt) 10K/sec Strong hash algorithm
Offline (MD5) 10B/sec Weak hash algorithm
GPU Cluster 100B/sec Dedicated cracking rig
Quantum (future) 1T/sec Grover's algorithm

Expected attempts = 2^(entropy - 1) / attack_speed

Breach Detection (k-Anonymity)

  1. Hash password with SHA-1
  2. Send only first 5 characters of hex hash to HIBP API
  3. Receive ~1000 hash suffixes
  4. Check locally if full hash suffix matches any result
  5. Password hash is never fully transmitted

Strength Levels

Level Score Color
Critical 0–19 Red
Weak 20–39 Orange
Fair 40–59 Yellow
Good 60–75 Lime
Strong 76–90 Emerald
Fortress 91–100 Cyan

Privacy Statement

All password analysis is performed locally in your browser whenever possible. Your password is never stored, logged, or transmitted in plaintext. Breach detection uses the HIBP k-anonymity model — only a 5-character hash prefix is ever sent.


Credits


License

This project is licensed under the MIT License — see the LICENSE file for full details.

MIT License — Copyright (c) 2026 7SM

You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of this software, provided the copyright notice and permission notice are included in all copies.


Developer

Developed by 7SM


CipherGuard — Because your passwords deserve enterprise-grade protection.

About

Enterprise-grade password security analyzer — entropy calculation, breach detection, crack time estimation & attack simulation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors