https://github.com/r1c0n/blacksmith
Blacksmith generates only the most secure passwords.
https://github.com/r1c0n/blacksmith
generator password password-generator security vue
Last synced: 3 months ago
JSON representation
Blacksmith generates only the most secure passwords.
- Host: GitHub
- URL: https://github.com/r1c0n/blacksmith
- Owner: r1c0n
- License: gpl-3.0
- Created: 2023-09-06T02:27:13.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-10-10T03:22:25.000Z (9 months ago)
- Last Synced: 2026-04-04T00:49:34.966Z (3 months ago)
- Topics: generator, password, password-generator, security, vue
- Language: Vue
- Homepage: https://blacksmith.graveyard.sh/
- Size: 201 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🔨 Blacksmith - Advanced Password Generator




### A sophisticated, multilingual password generator with advanced security analysis
[Features](#🌟-features) • [Installation](#🚀-quick-start) • [Contributing](#🤝-contributing)
## 🌟 Features
### 🔐 **Advanced Password Generation**
- **Multilingual Support**: Generate passwords using English, German, Vietnamese, Chinese, and Russian character sets
- **Customizable Length**: 8-128 characters with random length option
- **Minimum Requirements**: Set minimum counts for uppercase, lowercase, numbers, and special characters
- **Smart Character Distribution**: Ensures requirements are met while maintaining randomness
### 🛡️ **Sophisticated Security Analysis**
- **Advanced Strength Algorithm**: 7-tier strength assessment (Very Weak to Exceptional)
- **Pattern Detection**: Identifies repeated characters, sequential patterns, and keyboard sequences
- **Entropy Calculation**: Mathematical analysis of password randomness
- **Real-time Feedback**: Detailed strengths and weaknesses analysis
### 🎨 **User Experience**
- **Retro Windows 98 Interface**: Built with [98.css](https://jdan.github.io/98.css/) for nostalgic design
- **Visual Strength Indicator**: Progress bar and color-coded strength display
- **One-Click Copy**: Secure clipboard integration
- **Persistent Settings**: Automatically saves your preferences
- **Responsive Design**: Works on desktop and mobile devices
### 🌍 **International Ready**
- Support for multiple language character sets
- Unicode and international character bonuses
- Culturally diverse password generation
## 📊 Security Strength Levels
| Level | Score | Color | Description |
| -------------- | ------- | ------------- | ------------------------- |
| 🔴 Very Weak | 0-14% | Red | Extremely poor security |
| 🟠 Weak | 15-24% | Dark Red | Poor security |
| 🟡 Fair | 25-39% | Orange | Weak security |
| 🟢 Good | 40-54% | Yellow-Orange | Moderately secure |
| 🟢 Strong | 55-69% | Light Green | Secure password |
| 💚 Very Strong | 70-84% | Green | Very secure password |
| ⭐ Exceptional | 85-100% | Bright Green | Extremely secure password |
## 🚀 Quick Start
### Prerequisites
- Node.js 16+
- npm or yarn
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/r1c0n/blacksmith.git
cd blacksmith
```
2. **Install dependencies**
```bash
npm install
```
3. **Start development server**
```bash
npm run dev
```
4. **Open your browser**
Navigate to `http://localhost:5173`
### Production Build
```bash
npm run build
npm run preview
```
## 🛠️ Development
### Available Scripts
| Command | Description |
| ----------------- | ---------------------------------------- |
| `npm run dev` | Start development server with hot reload |
| `npm run build` | Build for production |
| `npm run preview` | Preview production build locally |
| `npm run lint` | Lint code with ESLint |
| `npm run format` | Format code with Prettier |
### Project Structure
```
.
├── src/
│ ├── assets/
│ │ ├── bg.png # Windows 98 desktop background image
│ │ └── main.css # Custom CSS styles
│ ├── components/
│ │ ├── PasswordGenerator.vue # Main password generation component
│ │ └── TitleBar.vue # Windows 98-style title bar component
│ ├── lang/
│ │ ├── chinese.js # Chinese character set for password generation
│ │ ├── english.js # English alphabet character set
│ │ ├── german.js # German alphabet with umlauts and special characters
│ │ ├── russian.js # Cyrillic alphabet character set
│ │ └── viet.js # Vietnamese character set
│ ├── App.vue # Root Vue component that orchestrates the application
│ ├── characters.js # Central character set w/ special chars and numbers
│ └── main.js # Application entry point and Vue app initialization
├── index.html # Main HTML template with Windows 98 theming
├── package.json # NPM dependencies and project configuration
└── README.md # Project documentation (this file!)
```
### Tech Stack
- **Framework**: [Vue.js 3](https://vuejs.org/) - Progressive JavaScript framework
- **Build Tool**: [Vite](https://vitejs.dev/) - Next generation frontend tooling
- **Styling**: [98.css](https://jdan.github.io/98.css/) - Windows 98 CSS framework
- **HTTP Client**: [Axios](https://axios-http.com/) - Promise based HTTP client
- **Linting**: [ESLint](https://eslint.org/) + [Prettier](https://prettier.io/)
## 🔧 Configuration
### Password Settings
The application supports extensive customization:
- **Length**: 8-128 characters (or random length 56-128)
- **Character Types**: Toggle inclusion of different character sets
- **Minimum Requirements**: Set minimum counts for each character type
- **Language Sets**: Enable/disable specific language character sets
### Advanced Security Features
The password strength algorithm evaluates:
- **Length Analysis**: Progressive scoring for different lengths
- **Character Diversity**: Variety of character types used
- **Pattern Detection**: Repeated chars, sequences, keyboard patterns
- **Entropy Calculation**: Mathematical randomness measurement
- **International Support**: Bonus for non-ASCII characters
## 🤝 Contributing
We welcome contributions! Here's how you can help:
1. **Fork the repository**
2. **Create a feature branch**
```bash
git checkout -b feature/amazing-feature
```
3. **Make your changes**
4. **Run linting**
```bash
npm run lint
```
5. **Commit your changes**
```bash
git commit -m "Add amazing feature"
```
6. **Push to the branch**
```bash
git push origin feature/amazing-feature
```
7. **Open a Pull Request**
### Development Guidelines
- Follow Vue.js best practices
- Maintain the Windows 98 aesthetic
- Update documentation for new features
## 📄 License
This project is licensed under the GNU GPL-3.0 license - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- [98.css](https://jdan.github.io/98.css/) for the amazing Windows 98 styling
- [Vue.js](https://vuejs.org/) team for the excellent framework
- [Vite](https://vitejs.dev/) for the lightning-fast build tool
- All contributors and security researchers who make password security better
## 📞 Support
- **Issues**: [GitHub Issues](https://github.com/r1c0n/blacksmith/issues)
- **Security**: [Email Me](mailto://recon@mail.recon.best) to report security vulnerabilities.
---
**Made with ❤️ by [r1c0n](https://github.com/r1c0n)**
⭐ **Star this repository if you find it helpful!**