Documentation

Fast password strength checker built with Go. Process 1,300+ passwords per second with zero dependencies.

Installation

Clone and run:

git clone https://github.com/Nesbesss/LeAi.git
cd LeAi
go run leai.go deep_ai.go deep_model_persistence.go password_ai.go model_persistence.go

Features

⚡ Fast

Process 1,300+ passwords per second

🎯 Accurate

728K parameter deep learning model

📦 Zero Dependencies

Pure Go implementation

💾 Pre-trained

Ready to use out of the box

Basic Usage

Interactive Mode

go run leai.go deep_ai.go deep_model_persistence.go password_ai.go model_persistence.go

Then choose:

Example output:

Enter password: password123
❌ BAD PASSWORD
💯 Confidence: 100.0% (weak)

Enter password: MyP@ssw0rd!2024
✅ GOOD PASSWORD
💯 Confidence: 100.0% (strong)

Code Examples

Single Password

package main

import "fmt"

func main() {
    ai := NewDeepPasswordAI()
    ai.LoadDeepModel("deep_password_model.json")
    
    isBad, confidence := ai.Predict("password123")
    
    if isBad {
        fmt.Printf("Weak: %.1f%%\n", confidence)
    } else {
        fmt.Printf("Strong: %.1f%%\n", 100-confidence)
    }
}

Multiple Passwords

passwords := []string{"password123", "MyP@ssw0rd!2024"}

ai := NewDeepPasswordAI()
ai.LoadDeepModel("deep_password_model.json")

for _, pwd := range passwords {
    isBad, conf := ai.Predict(pwd)
    fmt.Printf("%s: %.1f%%\n", pwd, conf)
}

API Server

Run the API server:

go run api_server.go deep_ai.go deep_model_persistence.go password_ai.go model_persistence.go

The server provides three endpoints:

Check Single Password

curl -X POST http://localhost:8080/check \
  -H "Content-Type: application/json" \
  -d '{"password":"test123"}'

Response:

{
  "is_bad": true,
  "confidence": 99.9,
  "message": "Weak password"
}

Batch Check (Thousands of Passwords)

curl -X POST http://localhost:8080/batch \
  -H "Content-Type: application/json" \
  -d '{"passwords":["password123","MyP@ssw0rd!2024","123456"]}'

Response:

{
  "results": [
    {"is_bad": true, "confidence": 100.0, "message": "Weak password"},
    {"is_bad": false, "confidence": 0.1, "message": "Strong password"},
    {"is_bad": true, "confidence": 99.9, "message": "Weak password"}
  ],
  "count": 3,
  "time_ms": 2.3
}

Server Statistics

curl http://localhost:8080/stats

Response:

{
  "status": "running",
  "model": "deep_password_ai",
  "parameters": 728833,
  "version": "1.0.0"
}

Docker

Create Dockerfile:

FROM golang:1.21-alpine
WORKDIR /app
COPY . .
CMD ["go", "run", "leai.go", "deep_ai.go", "deep_model_persistence.go", "password_ai.go", "model_persistence.go"]

Build and run:

docker build -t leai .
docker run -it leai

Performance

Metric Value
Speed 1,300+ passwords/sec
Training Accuracy 100%
Parameters 728,833
Model Size 14 MB
Latency Sub-millisecond

Training

Train your own model:

go run leai.go deep_ai.go deep_model_persistence.go password_ai.go model_persistence.go

Choose option 2, then wait for 100 epochs:

Epoch 100 Loss: +0.000001 Accuracy: 100%
✅ Training complete!
💾 Saving trained model...
✅ Model saved to deep_password_model.json
View on GitHub