A desktop cryptography and password management toolkit built with JavaFX.
GearStick provides four core security tools in a single desktop application:
- Text Encryption/Decryption: AES-256 encryption for text strings
- File Encryption/Decryption: Secure file encryption with AES-256
- Key Derivation: PBKDF2 with HMAC-SHA256 (65,536 iterations) for password-based key generation
- Secure IV Generation: Cryptographically secure initialization vectors using SecureRandom
- Secure Credential Storage: Encrypted password storage with master password protection
- Multi-Vault Support: Create and manage multiple vaults with independent master passwords
- Credential Management: Add, view, copy, and organize credentials
- Encryption: All credentials encrypted using vault-specific salt and IV
- Customizable Generation: Configure length and character sets (uppercase, lowercase, numbers, special characters)
- Cryptographically Secure: Uses SecureRandom for unpredictable password generation
- Vault Integration: Save generated passwords directly to your vault
- File Integrity Verification: Calculate MD5 and SHA-256 checksums
- File Comparison: Verify file integrity and detect tampering
- Java 17 or higher
- Maven 3.8+
- JavaFX 19 (included as dependency)
# Build with Maven
mvn clean package# Run the application
mvn javafx:runAES-256 provides strong encryption suitable for both text and file data, while PBKDF2 with 65,536 iterations makes password-based attacks computationally expensive. The combination balances security and performance for a desktop application.
Each vault generates its own salt and IV during creation, ensuring that identical passwords in different vaults produce different encrypted outputs. This prevents cross-vault attacks and adds an extra layer of security.