Skip to content

gerivanc/dnapass-password-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

245 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧬 DNAPass Password Generator - Written in modern C++, inspired by DNA nucleotide sequences written in Python


🧬 DNAPass Password Generator - Written in modern C++, inspired by DNA nucleotide sequences (v0.1.3)

C++Β  g++ CMake GitΒ  Clang Maintained License

Just like every DNA sequence is unique to each living being, 🧬 DNAPass creates digitally exclusive passwords β€” unpredictable and packed with high entropy. Built in C++, this secure generator uses DNA-inspired patterns to produce strong, resilient passwords suitable for high-security environments.

With a command-line interface (CLI), users can customize password length from 8 to 128 characters. DNAPass’s algorithm leverages character diversity, ambiguity resolution, and DNA-mimicking variations to deliver robust, one-of-a-kind passwords for developers and cybersecurity enthusiasts.


πŸ“š Table of Contents


🌐 Interactive Web Version

Experience the DNAPass Password Generator directly in your browser! The web version offers all the functionality of the C++ script in an intuitive and responsive interface.

πŸš€ Access the Web Version

⚑ Interactive Demo


πŸ“œ Disclaimer

Do not attempt to memorize the passwords generated by this tool. Instead, use a reliable password manager, such as BitwardenΒ©, which I personally recommend. The only password you should memorize is the master password for your password manager's vault, created with a strong combination of uppercase and lowercase letters, numbers, and special characters. Enable two-factor authentication (2FA) whenever possible to enhance security.


✨ Features

  • Generates passwords with lengths between 8 and 128 characters.
  • Supports uppercase letters, lowercase letters, digits, and special characters.
  • Uses primary and secondary DNA sequence sets for unique password generation.
  • Ensures at least 4 special characters, 2–3 digits, 10% uppercase, and 1 lowercase.
  • Command-line interface for flexible usage.
  • No external dependencies; uses C++ standard libraries.

πŸ“‹ Requirements

Update and install the environments required for the installation.

sudo apt update
sudo apt install git
sudo apt install cmake
sudo apt install g++
sudo apt install clang

After installing the environments, confirm and verify the installed versions.

git --version
cmake --version
g++ --version
clang --version

πŸ’Ύ Installation

Cloning the repository to install packages.

git clone https://github.com/gerivanc/dnapass-password-generator.git
cd dnapass-password-generator
mkdir build
cd build
cmake ..
cmake --build .

πŸ›  Command Line Interface

Usage

Method 1. Call the function by question to generate the password by choosing between 8-128 characters:

./dnapass_generator

Method 2. - Automated Mode. Call to generate the password by choosing a 45-character password. In the function, enter the number of characters between 8 and 128.

echo "45" | ./dnapass_generator

Troubleshooting

  • Error: "cmake: command not found": Install CMake with sudo apt install cmake.
  • Error: "g++: command not found": Install g++ with sudo apt install g++.
  • Error: "./dnapass_generator: No such file or directory": Ensure the build step completed successfully. Run ls to check if dnapass_generator exists in the build folder. If not, repeat the cmake .. and cmake --build . steps.
  • Permission denied: Run chmod +x dnapass_generator to make the executable runnable, then try ./dnapass_generator again.

πŸ“Έ Screenshots

Method 1. Call the function by question to generate the password by choosing between 8-128 characters. Entering password output length to 8 characters:

length 8 Output

Note: Screenshot using the command: ./dnapass_generator. Demonstration image of the output result of the function.

Method 2. - Automated Mode. Call to generate the password by choosing a 45-character password. In the function, enter the number of characters between 8 and 128. Entering password output length to 45 characters.

length 45 Output

Note: Screenshot using the command: echo "45" | ./dnapass_generator. Demonstration image of the output result of the function.


πŸ“¦ Post installation

After the first installation, there's no need to reinstall everything in your environment. Simply open the terminal (CLI) in the environment where the repository was installed and access the folder with the command:

cd dnapass-password-generator/build

Then run the desired function to generate passwords as per your needs.


πŸ“Š DNAPass Calculation Methodology

DNAPass generates passwords by:

  1. Selecting random DNA sequences from primary (90%) or secondary (10%) sets.
  2. Resolving ambiguous characters (e.g., 'N' to A/T/C/G).
  3. Adjusting for length and enforcing character diversity (uppercase, lowercase, digits, special characters).
  4. Shuffling the final password to ensure randomness.

See the DNAPASSCALCULATION.md for details.


πŸ› οΈ Development

To contribute to the DNAPass Password Generator, set up a development environment:

git clone https://github.com/gerivanc/dnapass-password-generator.git
cd dnapass-password-generator
mkdir build
cd build
cmake ..
cmake --build .

Install clang-format for code formatting (optional, but recommended):

sudo apt install clang-format  # On Debian/Ubuntu
# Or use your package manager (e.g., brew on macOS, choco on Windows)

See the CONTRIBUTING.md for contribution guidelines.


🀝 Contributing

Contributions are welcome! Please follow the guidelines in CONTRIBUTING.md.


πŸ“ Release Notes

See the RELEASE.md for detailed release notes for each version.


πŸ“’ Reporting Issues

Help us improve DNAPass Password Generator by reporting bugs or suggesting enhancements to project. To report a bug, suggest a feature, or ask a question:

  1. Go to the Issues tab.

  2. Click New issue.

  3. View the available options and select to: Report Bug and/or Report Issue. For security vulnerabilities, please follow our Security Policy.


🐞 Reporting Bugs

If you encounter a bug in the DNAPass Password Generator, please report it using our dedicated Bug Report template. This template ensures that your report includes essential details, such as steps to reproduce, environment information, and logs, enabling us to address issues efficiently. For other types of contributions or inquiries, refer to our CONTRIBUTING.md.


πŸ›‘οΈ Security

For security vulnerabilities, follow the process in SECURITY.md instead of opening a public issue. We recommend using a password manager and enabling 2FA for enhanced security.


πŸ“… Changelog

See the CHANGELOG.md for a detailed history of changes to this project.


πŸ“„ License

This project is licensed under the MIT License. See the LICENSE.md for details.


πŸ“§ Contact

For questions or feedback, please contact: dean-grumbly-plop@duck.com.


Copyright Β© 2025 Gerivan Costa dos Santos

About

🧬 DNAPass Password Generator Create secure passwords based on DNA nucleotide patterns. A unique C++ tool merging genetic logic with encryption.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors