Skip to content

utkarshgupta-iitbhu/IT-Tools-CPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ› ๏ธ IT Tools Collection

Tools Language Platform Status


A powerful collection of IT security and utility tools built with C++

Designed for developers, security enthusiasts, and IT professionals


โšก This repository is actively maintained โ€” more tools are being added regularly! โšก


๐Ÿš€ Quick Navigation

๐Ÿ” Password Strength Analyzer โ€ข ๐ŸŽฒ Token Generator โ€ข ๐Ÿ“ฆ Installation โ€ข ๐Ÿ”ฎ Coming Soon



๐Ÿ“‹ Tools Overview

Evaluate password security in real-time with entropy calculation, pattern detection, and comprehensive scoring.

Highlights:

  • โšก Live analysis as you type
  • ๐Ÿ“Š Entropy-based scoring
  • ๐Ÿ” Pattern & sequence detection
  • ๐ŸŽญ Password masking toggle

Generate cryptographically-informed random tokens with fully customizable character sets.

Highlights:

  • ๐ŸŽ›๏ธ 5 customizable options
  • ๐Ÿ“ Adjustable length
  • ๐Ÿšซ Ambiguous char filtering
  • โ™ป๏ธ Instant regeneration


๐Ÿ” Password Strength Analyzer

Real-time password security evaluation at your fingertips โ€” type and see!


๐Ÿ“– What Does It Do?

The Password Strength Analyzer is an interactive console application that evaluates your password's security in real-time. Every keystroke triggers an instant analysis, providing immediate feedback on:

  • โœ… Character composition
  • โœ… Entropy (randomness measure)
  • โœ… Common vulnerability patterns
  • โœ… Overall security score

๐ŸŽฏ Features at a Glance

โŒจ๏ธ Real-Time Analysis Instant feedback with every keystroke
๐Ÿ”ข Entropy Calculation Information theory-based randomness measurement
๐Ÿ“‹ 7-Point Checklist Visual requirement validation
๐ŸŽญ Mask Toggle Show/hide password with TAB
๐Ÿšจ Pattern Detection Catches repeated chars & common sequences
๐Ÿ“Š Security Score 0-100 score for quick assessment

๐Ÿ–ฅ๏ธ Live Preview

================================================
          PASSWORD STRENGTH ANALYZER
================================================
Password: MyP@ssw0rdโ–ˆ
-------------------------------------------------
REQUIREMENTS: 
[OK] Lowercase Letters        โœ“
[OK] Uppercase Letters        โœ“
[OK] Numbers                  โœ“
[OK] Symbols                  โœ“
[OK] Minimum 8 characters     โœ“
[OK] No repeated characters   โœ“
[OK] No common sequences      โœ“
-------------------------------------------------
Entropy: 65 bits
Score:   50 / 100
================================================
 [ESC] Quit | [TAB] Hide | [BKSP] Delete

๐ŸŽฎ Controls

Key Action Description
Any Key โž• Add Add character to password
BACKSPACE โฌ…๏ธ Delete Remove last character
TAB ๐Ÿ‘๏ธ Toggle Show/Hide password
ESC ๐Ÿšช Exit Quit the application

๐Ÿงฎ How Scoring Works

Step 1: Calculate Character Pool

The analyzer determines available characters based on what you've used:

Character Type Pool Size Characters
Lowercase 26 abcdefghijklmnopqrstuvwxyz
Uppercase 26 ABCDEFGHIJKLMNOPQRSTUVWXYZ
Digits 10 0123456789
Symbols 32 !@#$%^&*()_+-=[]{}

Step 2: Calculate Raw Entropy

๐Ÿ“ Formula: Entropy = Length ร— logโ‚‚(Pool Size)

Example:

Password: MyP@ss123 (Length: 9) Pool: 26 + 26 + 10 + 32 = 94 characters Entropy: 9 ร— logโ‚‚(94) โ‰ˆ 59 bits

Step 3: Apply Penalties

Bad Pattern Detected Penalty
๐Ÿ”„ 3+ repeated characters -15 bits
๐Ÿ“ Common sequences found -25 bits

Step 4: Calculate Final Score

๐Ÿ“Š Score = min(100, (Adjusted Entropy รท 128) ร— 100)

๐Ÿšจ Detected Bad Patterns

Click to see all detected sequences

The analyzer scans for these weak patterns (case-insensitive):

Category Patterns
Numeric Sequences 123, 234, 345, 456, 567, 678, 789
Alphabetic abc
Keyboard Patterns qwerty, asdf
Common Words password

๐Ÿ—๏ธ Code Architecture

class StrengthAnalyser
{
public:
    struct AnalysisResult
    {
        // ๐Ÿ“ Metrics
        int length;           // Password length
        int poolsize;         // Character pool size
        double entropy;       // Calculated entropy (bits)
        int score;            // Final score (0-100)
        
        // โœ… Character Checks
        bool hasLower;        // Contains a-z
        bool hasUpper;        // Contains A-Z
        bool hasDigit;        // Contains 0-9
        bool hasSymbol;       // Contains symbols
        
        // ๐Ÿ“‹ Requirement Checks
        bool hasLength;       // Length >= 8
        bool hasRepeats;      // Has bad repeats (aaa)
        bool hasSequence;     // Has bad sequences (123)
    };

    // ๐Ÿ” Analysis Methods
    bool checkhasRepeats(string password);    // Detect 3+ consecutive repeats
    bool checkhasSequence(string password);   // Detect common patterns
    AnalysisResult analyze(string password);  // Main analysis engine
};

๐Ÿ“Š Strength Level Guide

Score Level Entropy Recommendation
0-20 ๐Ÿ”ด Very Weak 0-25 bits Don't use this!
21-40 ๐ŸŸ  Weak 26-50 bits Needs improvement
41-60 ๐ŸŸก Fair 51-75 bits Acceptable for low-risk
61-80 ๐ŸŸข Strong 76-100 bits Good for most uses
81-100 ๐Ÿ’ช Very Strong 101-128+ bits Excellent security!


๐ŸŽฒ Token Generator

Generate secure random tokens instantly with fully customizable options!


๐Ÿ“– What Does It Do?

The Token Generator creates random, secure tokens perfect for:

  • ๐Ÿ”‘ API Keys
  • ๐Ÿ” Strong Passwords
  • ๐ŸŽซ Session Tokens
  • ๐Ÿ†” Unique Identifiers
  • ๐Ÿ”’ Secret Keys

๐ŸŽฏ Features at a Glance

๐ŸŽ›๏ธ 5 Toggle Options Full control over character sets
๐Ÿ“ Custom Length Any length you need
๐Ÿšซ Ambiguous Filter Exclude confusing characters
โ™ป๏ธ Instant Refresh New token with one keypress
๐ŸŽจ Color Coded Visual ON/OFF states

๐Ÿ–ฅ๏ธ Live Preview

=======================================
            TOKEN GENERATOR
=======================================
Controls: Press keys [1] to [5] to toggle
          Press [L] to change length

[1] UpperCase   : [ON]  ๐ŸŸข
[2] LowerCase   : [ON]  ๐ŸŸข
[3] Numbers     : [ON]  ๐ŸŸข
[4] Symbols     : [ON]  ๐ŸŸข
[5] No Ambiguous: [OFF] ๐Ÿ”ด

Length           : 16
---------------------------------------
GENERATED TOKEN: aB3$kL9@mNpQ2&xZ

Press [R]efresh or [Q]uit.

๐ŸŽฎ Controls

Key Action Description
1 ๐Ÿ”ค Toggle Uppercase letters ON/OFF
2 ๐Ÿ”ก Toggle Lowercase letters ON/OFF
3 ๐Ÿ”ข Toggle Numbers ON/OFF
4 ๐Ÿ”ฃ Toggle Symbols ON/OFF
5 ๐Ÿšซ Toggle Exclude ambiguous chars
L ๐Ÿ“ Length Set custom token length
R โ™ป๏ธ Refresh Generate new token
Q ๐Ÿšช Quit Exit the application

๐Ÿ”ค Character Sets

Category Characters Count
๐Ÿ”  Uppercase ABCDEFGHIJKLMNOPQRSTUVWXYZ 26
๐Ÿ”ก Lowercase abcdefghijklmnopqrstuvwxyz 26
๐Ÿ”ข Numbers 0123456789 10
๐Ÿ”ฃ Symbols !@#$%&? 7

๐Ÿšซ Ambiguous Characters

When "No Ambiguous" is enabled, these confusing characters are excluded:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                             โ”‚
โ”‚     0 (zero)  โ†โ†’  O (letter O)              โ”‚
โ”‚     1 (one)   โ†โ†’  l (lowercase L)           โ”‚
โ”‚               โ†โ†’  I (uppercase i)           โ”‚
โ”‚                                             โ”‚
โ”‚     Excluded: 0, O, I, l, 1                 โ”‚
โ”‚                                             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’ก Use Case: Enable this when tokens need to be read/typed manually to avoid confusion!


๐Ÿ—๏ธ Code Architecture

class TokenGenerator
{
private:
    // โš™๏ธ Configuration
    int length;               // Token length (default: 16)
    bool includeUpper;        // A-Z (default: true)
    bool includeLower;        // a-z (default: true)
    bool includeNumbers;      // 0-9 (default: true)
    bool includeSymbols;      // !@#$%&? (default: true)
    bool excludeAmbiguous;    // Filter 0OIl1 (default: false)

    // ๐Ÿ“š Character Libraries
    const string UPPER = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    const string LOWER = "abcdefghijklmnopqrstuvwxyz";
    const string NUMS  = "0123456789";
    const string SYM   = "!@#$%&?";
    const string AMBIGUOUS = "0OIl1";

public:
    // ๐Ÿ”ง Getters & Toggles
    bool getUpper();          void toggleUpper();
    bool getLower();          void toggleLower();
    bool getNumbers();        void toggleNumbers();
    bool getSymbols();        void toggleSymbols();
    bool getAmbiguous();      void toggleAmbiguous();
    int getLength();          void setLength(int l);
    
    // ๐ŸŽฒ Generation
    string generate();        // Create random token
};

๐Ÿ“ฆ Installation

Prerequisites

๐Ÿ–ฅ๏ธ Platform Windows OS (uses Windows API)
โš™๏ธ Compiler C++11 or later (MinGW / MSVC)
๐Ÿ“š Dependencies Windows.h, conio.h (included with Windows)

๐Ÿ”จ Compilation

Using g++ (MinGW)

# Clone the repository
git clone https://github.com/yourusername/IT-Tools.git
cd IT-Tools

# Compile Password Strength Analyzer
g++ -o PasswordStrengthAnalyzer.exe PasswordStrengthAnalyzer.cpp

# Compile Token Generator
g++ -o TokenGenerator.exe TokenGenerator.cpp

Using MSVC (Visual Studio)

# Compile Password Strength Analyzer
cl PasswordStrengthAnalyzer.cpp

# Compile Token Generator
cl TokenGenerator.cpp

โ–ถ๏ธ Running

# Run Password Strength Analyzer
./PasswordStrengthAnalyzer.exe

# Run Token Generator  
./TokenGenerator.exe


๐Ÿ“ Project Structure

IT-Tools/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“„ README.md                       # You are here!
โ”‚
โ”œโ”€โ”€ ๐Ÿ” PasswordStrengthAnalyzer.cpp    # Password analysis tool
โ”‚
โ”œโ”€โ”€ ๐ŸŽฒ TokenGenerator.cpp              # Token generation tool
โ”‚
โ””โ”€โ”€ ๐Ÿ”ฎ (more tools coming soon...)


๐Ÿ”ฎ Coming Soon

๐Ÿšง This repository is under active development! ๐Ÿšง


Planned Tools

Status Tool Description
๐Ÿ“‹ Hash Generator MD5, SHA-1, SHA-256, SHA-512
๐Ÿ“‹ Base64 Encoder/Decoder Encode and decode Base64 strings
๐Ÿ“‹ UUID Generator Generate unique identifiers
๐Ÿ“‹ File Checksum Validator Verify file integrity
๐Ÿ“‹ Network Scanner Scan local network devices
๐Ÿ“‹ Port Scanner Check open ports on hosts
๐Ÿ“‹ Encryption Tool AES/DES encryption & decryption
๐Ÿ“‹ System Info Tool Display system information
๐Ÿ“‹ JSON Formatter Pretty print JSON data
๐Ÿ“‹ Regex Tester Test regular expressions

๐Ÿ’ก Have a suggestion? Open an issue and let us know what tools you'd like to see!



About

A collection of interactive command-line IT utilities written in C++. This repository focuses on small, practical tools such as password analysis and more

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages