{"id":46554566,"url":"https://github.com/merci-libre/genpass-rs","last_synced_at":"2026-04-03T11:03:22.311Z","repository":{"id":278273519,"uuid":"861057326","full_name":"merci-libre/genpass-rs","owner":"merci-libre","description":"A password management tool written in Rust. Generates Extended ASCII, ASCII, and alphanumeric strings, and uses steganography to store passwords into images as pixels.","archived":false,"fork":false,"pushed_at":"2025-10-21T07:28:35.000Z","size":74,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-21T09:29:19.274Z","etag":null,"topics":["cli","cryptographically-secure","linux","modular","password-generator","password-manager","rust","security","security-tools","steganography","windows"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/merci-libre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-21T22:08:34.000Z","updated_at":"2025-10-21T07:28:38.000Z","dependencies_parsed_at":"2025-08-08T20:22:56.937Z","dependency_job_id":"b3416dc4-f1a1-4ca4-a02a-1dcf4043fc5f","html_url":"https://github.com/merci-libre/genpass-rs","commit_stats":null,"previous_names":["merci-libre/genpass-rs"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/merci-libre/genpass-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merci-libre%2Fgenpass-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merci-libre%2Fgenpass-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merci-libre%2Fgenpass-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merci-libre%2Fgenpass-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/merci-libre","download_url":"https://codeload.github.com/merci-libre/genpass-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merci-libre%2Fgenpass-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30207501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T03:24:23.086Z","status":"ssl_error","status_checked_at":"2026-03-07T03:23:11.444Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cryptographically-secure","linux","modular","password-generator","password-manager","rust","security","security-tools","steganography","windows"],"created_at":"2026-03-07T04:11:30.924Z","updated_at":"2026-04-03T11:03:22.306Z","avatar_url":"https://github.com/merci-libre.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Genpass-rs\nThe official page for Merci-Libre's genpass-rs. Created by [westwardfishdme](https://github.com/westwardfishdme). Now v2.0!\n\n- [Installation](#Installing)\n  - [Windows](#Windows)\n  - [Linux](#Linux)\n  - [From Source](#Building-From-Source)\n- [Usage](#Usage)\n- [Thanks](#Thanks)\n\n\n## Installing\nInstalling genpass-rs is not supported via package managers yet. All x86_64 builds can be obtained from the \n[releases tab](https://github.com/merci-libre/genpass-rs/releases).\n\n### Windows\n\nThere is now a precompiled binary attached to all releases \u003c= 1.0.2\nYou can simply run the .exe in a command prompt to use the software as desired.\n\nThe binary was compiled using for x86_64 systems. Can be obtained in the [releases tab](https://github.com/merci-libre/genpass-rs/releases).\n\n### Linux\nThere is a pre-compiled binary for x86_64 systems. Can also be obtained from the [releases tab](https://github.com/merci-libre/genpass-rs/releases). :)\n\n### Building From Source\n\n1. Install rust from https://www.rust-lang.org/tools/install\n2. Use `cargo build --release` to compile.\n3. get the binary from `genpass-rs/target/build/genpassrs`\n4. you figure out the rest :)\n\n## Usage\nGenpass-rs supports up to string generation up to 255 characters. This was explicitly chosen as most password fields are limited to 32 characters,\nalbeit the maximum supported amount of characters is 255. This limit is currently not bypassable, and is enforced for all forms of passphrase generation.\n\n### Getting Help\n`genpassrs --help` : Prints help menu, in addition since this project uses clap you can see other commands with the following syntax:\n\n```\ngenpassrs \u003csubcommand\u003e --help\n```\n\nLooks like:\n```\nUsage: genpassrs [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  string        Generates a new string of specified length\n  integer       Generates an integer of specified length\n  alphanumeric  Generates an alphanumeric string\n  estimate      Estimates the strength of password\n  steg          Use Steganography to store strings into PNGs or JPEGs. Acceptable formats: ([.png], [.jpg], [.jpeg])\n  help          Print this message or the help of the given subcommand(s)\n\nOptions:\n  -d, --debug    Prints debugging information\n  -l, --loop     Loops the program for infinite string generation\n  -h, --help     Print help\n  -V, --version  Print version\n```\n\n### String Generation\nSupports both traditional ASCII based character generation and UTF-8 based extended ASCII generation (up to `char 255`).\n\n`genpassrs string --encoding extasc --length 30` : prints a string of length 30 containing random extended ascii characters, excluding spaces.\n\n`genpassrs string --encoding ascii --spaces --length 20` : prints a string of length 20 containing random ascii characters including spaces.\n\n`genpassrs alphanumeric -l 25` : generates an alphanumeric string of length 25. \n\n`genpassrs alphanumeric -a -l 25` : generates a string of length 25 of only letters of varying cases.\n\n`genpassrs alphanumeric -s -l 25` : generates a string of length 25 with lowercase letters.\n\n`genpassrs alphanumeric -u -l 25` : generates a string of length 25 with uppercase letters.\n\n### Integer Generation\nIntegers are generated as strings-- formatted prints may come in future editions.\n\n`genpassrs integer --length 20` : prints a random integer of length 20. STDOUT is formatted as type: String, not integer.\n\n### Password Strength Estimation:\n`genpassrs estimate \u003cstring\u003e` OR `\u003cstdin\u003e | genpassrs estimate -`\n\n## Using Steganographic Functions to embed or store passwords/messages.\nThis program uses 2 crates for steganographic functionality: \n- [Stegano](https://github.com/wiseaidev/stegano) for encrypting and formatting payloads.\n- [Steganography](https://github.com/teovoinea/steganography) for actually embedding the payloads into the images.\n\nWhen encrypting a payload into an image, Genpass-rs uses AES-128 to securely store up to 240-byte long strings into images.\nTo use the steganographic functions the inputted file must meet the following criteria:\n- Must be a [.jpg, .jpeg, or .png], this is checked at run-time by checking the file's magic bytes.\n- Must be at least 1kb in size, however as of 1.1.2 there is no check on file size. Meaning that smaller images may result in undefined behavior.\n- Must not have any previous data embedded into an image using this program (or other programs using steganography), there is no way to check for this \nin the software at the current moment, so use fresh unedited images before using this command!\n\nThe steganographic file will be outputted as a `.png`\n\n### Storing and Reading\nGenpass-rs comes with 2 methods of storing passwords into images:\n1. Generate a password.\n2. Or storing a payload.\n\nYou may choose to leave payloads unencrypted before storing them into images by passing the `-u` argument. For example:\n\n`genpassrs steg embed -n some.png -p \"Hello World\" -u` \n\nThis command will store the payload `Hello World` into the image `some.png` without encryption.   \n\n### Generation\n\nFor generating a new random password with encryption, you can use the following command:\n\n`genpassrs steg generate -n some.jpeg -l 50 -e extasc -s`\n\nThis command will generate a new passphrase with both ascii and extended ascii of length `50`, and then store it into the file `some.jpeg`.  \n\n# Modules\n\n~~Genpassrs supports module usage outside of genpass for whatever project you are working on. Of course, you can use a wrapper to use genpassrs in any project.~~\n(this is currently broken in the current patch-- will future updates will make modules available again soon.)\n\n# Thanks\n\nFirst and foremost thank you for checking out this repository. As the developer of this project I had spent 2 years perfecting this project, and improving it.\nWith that said, I want to give a huge thanks to users of this program, and the developers of the projects that had help make this project possible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerci-libre%2Fgenpass-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmerci-libre%2Fgenpass-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerci-libre%2Fgenpass-rs/lists"}