# Hasher - Quick Reference Card ## 🚀 Quick Commands ### Development ```bash npm run dev # Start development server (http://localhost:3000) npm run build # Build for production npm start # Start production server npm run lint # Run ESLint ``` ### Bulk Indexing ```bash npm run index-file # Index wordlist file npm run index-file -- --batch-size N # Custom batch size npm run index-file -- --help # Show help ``` ### Duplicate Removal ```bash npm run remove-duplicates -- --field md5 --dry-run # Preview duplicates npm run remove-duplicates -- --field md5 --execute # Remove duplicates ``` ## 🔍 Hash Detection Patterns | Type | Length | Example | |--------|--------|---------| | MD5 | 32 | `5f4dcc3b5aa765d61d8327deb882cf99` | | SHA1 | 40 | `5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8` | | SHA256 | 64 | `5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8` | | SHA512 | 128 | `b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb9...` | ## 🔌 API Quick Reference ### Search/Generate ```bash POST /api/search Content-Type: application/json { "query": "password" } ``` ### Health Check ```bash GET /api/health ``` ## 🌐 URLs - **Web Interface**: http://localhost:3000 - **Search API**: http://localhost:3000/api/search - **Health API**: http://localhost:3000/api/health - **Redis**: localhost:6379 ## 📊 Redis Commands ```bash # Test connection redis-cli ping # Get database stats redis-cli INFO stats # Count all keys redis-cli DBSIZE # List all hash documents redis-cli KEYS "hash:plaintext:*" # Get document redis-cli GET "hash:plaintext:password" # Get statistics redis-cli HGETALL hash:stats # Clear all data (CAUTION!) redis-cli FLUSHDB ``` ## 🐛 Troubleshooting | Problem | Solution | |---------|----------| | Can't connect to Redis | Check `REDIS_HOST` and `REDIS_PORT` env vars | | Port 3000 in use | Use `PORT=3001 npm run dev` | | Module not found | Run `npm install` | | Build errors | Run `npm run build` to see details | ## 📁 Important Files | File | Purpose | |------|---------| | `app/page.tsx` | Main UI component | | `app/api/search/route.ts` | Search endpoint | | `lib/redis.ts` | Redis configuration | | `lib/hash.ts` | Hash utilities | | `scripts/index-file.ts` | Bulk indexer | | `scripts/remove-duplicates.ts` | Duplicate remover | ## ⚙️ Environment Variables ```bash # Optional REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=your-password NODE_ENV=production ``` ## 📝 Common Use Cases ### Search for a hash 1. Open http://localhost:3000 2. Enter hash value 3. Click Search ### Generate hashes 1. Open http://localhost:3000 2. Enter plaintext 3. Click Search 4. Copy desired hash ### Bulk index words ```bash npm run index-file wordlist.txt ``` ### Check system health ```bash curl http://localhost:3000/api/health ``` ## 🎯 Sample Hashes (password) - **MD5**: `5f4dcc3b5aa765d61d8327deb882cf99` - **SHA1**: `5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8` - **SHA256**: `5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8` ## 📚 Documentation Links - [README.md](README.md) - Main documentation - [API.md](API.md) - API reference - [DEPLOYMENT.md](DEPLOYMENT.md) - Deployment guide - [TESTING.md](TESTING.md) - Testing guide ## 🆘 Get Help ```bash npm run index-file -- --help # Indexer help npm run remove-duplicates -- --help # Duplicate remover help ``` --- **Version**: 1.0.0 **Project**: Hasher **License**: MIT