{"id":20122845,"url":"https://github.com/freaky/mkpass","last_synced_at":"2025-10-09T10:39:40.141Z","repository":{"id":65965414,"uuid":"132402477","full_name":"Freaky/mkpass","owner":"Freaky","description":"Generates reasonably secure passwords","archived":false,"fork":false,"pushed_at":"2023-05-23T22:22:58.000Z","size":164,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-06T16:48:59.396Z","etag":null,"topics":["diceware","passphrase","password"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Freaky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2018-05-07T03:30:59.000Z","updated_at":"2024-05-27T09:33:52.000Z","dependencies_parsed_at":"2024-11-13T19:41:34.316Z","dependency_job_id":"abecc752-e0f1-43c5-abbf-639316d06803","html_url":"https://github.com/Freaky/mkpass","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Freaky/mkpass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fmkpass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fmkpass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fmkpass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fmkpass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Freaky","download_url":"https://codeload.github.com/Freaky/mkpass/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fmkpass/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001277,"owners_count":26083040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["diceware","passphrase","password"],"created_at":"2024-11-13T19:41:27.730Z","updated_at":"2025-10-09T10:39:40.125Z","avatar_url":"https://github.com/Freaky.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mkpass - make a passphrase\n\n`mkpass` is a tool for securely generating passphrases in a preferred format.\n\nBy default it targets a minimum of 72-bits of entropy, corresponding to an\naverage cracking time of 75 years at 1 trillion guesses per second.\n\nBundled formats include:\n\n* eff — [EFF Diceware][eff] (default)\n* diceware — [Traditional Diceware][dice]\n* beale — Alan Beale's Diceware (linked above)\n* koremutake — [Shorl.com's Koremutake][kore]\n\nAdditionally a range of traditional non-word based formats are included for\ngenerating alphanumeric passwords, PINs, etc, and custom word lists can also be\nused.\n\nPasswords are selected using the OS random number generator (`/dev/urandom`,\n`getrandom()`, `getentropy()`, `RtlGenRandom`, etc) via Rust's\nrand::[OsRng] (using [getrandom]) and sampled with its\n[uniform distribution][uniform] API.\n\nAlternatively you can use the `--dice` argument to use any dice with between 2\nand 144 sides as a random number generator.  Rolls will be efficiently mapped to\npassphrases using an implimentation of [this algorithm][Uniform Random Integers].\n\nDiceware is designed for use with a d6, rolling five times per word.  This approach\nallows for the use of, for example, d20 typically rolling just three times, or d100\nrolling just twice.\n\nNote this support is experimental.\n\n## Usage\n\n```\nGenerate reasonably secure passwords.\n\nUse your operating system's cryptographic random number generator, or any dice\nyou have lying around, to create secure passwords without human bias.\n\nUsage: mkpass [OPTIONS]\n\nOptions:\n  -v, --verbose\n          Activate verbose mode\n\n  -s, --separator \u003cSEPARATOR\u003e\n          Word separator\n\n  -c, --count \u003cCOUNT\u003e\n          Number of passwords to generate\n\n          [default: 1]\n\n  -b, --bits \u003cBITS\u003e\n          Password strength target, 2^n\n\n          [default: 72]\n\n  -l, --length \u003cLENGTH\u003e\n          Password length (overrides bits target)\n\n  -f, --file \u003cPATH\u003e\n          External dictionary, line-separated\n\n  -d, --dictionary \u003cDICTIONARY\u003e\n          Built-in dictionary\n\n          [default: eff]\n          [possible values: eff, eff-short1, eff-short2, diceware, beale, alpha,\n          mixedalpha, mixedalphanumeric, alphanumeric, pin, hex, printable,\n          koremutake]\n\n      --dice \u003cSIDES\u003e\n          Manually use dice for randomness.\n\n  -D, --list-dictionaries\n          Describe built-in dictionaries\n\n      --dump\n          Dump the selected dictionary to stdout and exit\n\n  -h, --help\n          Print help (see a summary with '-h')\n\n  -V, --version\n          Print version\n```\n\n## Examples\n\n```\n# generate 5 passphrases in verbose mode\n-% mkpass -n 5 -v\n#   Dictionary: eff\n#  Description: EFF Long Wordlist  https://www.eff.org/dice\n# Combinations: 7776^6 = 221073919720733357899776\n#      Entropy: 77.55 bits (very strong)\n#\n# Attack time estimate:\n#   Online, unthrottled (10/s): trillions of years\n#    Online, throttled (100/h): trillions of years\n#        Offline, slow (1e4/s): 701 billion years\n#       Offline, fast (1e10/s): 701 minnennia\n#    Offline, extreme (1e12/s): 7 minnennia\n#\nskyline skimming vacant removable reunion critter\nsudden ungloved footsie spectrum vision sixtieth\ndata husband wobbling enroll ultra pacifier\nclay glamorous unnamed blast jockey astrology\nshakily sprint crafty mortuary kept nanometer\n```\n\n```\n# generate a 2-word EFF passphrase using a d20\n-% mkpass --dice 20 -l 2\nWARNING: Dice support is experimental.\nEnter a dice roll, 1-20: 14\nEnter a dice roll, 1-20: 6\nEnter a dice roll, 1-20: 20\nEnter a dice roll, 1-20: 11\nEnter a dice roll, 1-20: 9\nEnter a dice roll, 1-20: 1\nreferee paralyze\n```\n\n```\n# generate a 128-bit passphrase from the system dictionary\n-% mkpass -f /usr/share/dict/words -b 128\ncleruchy fructose pierine catchpole espathate refigure kinbote nonpreformed\n```\n\n```\n# generate a password using \"koremutake\" phonetics, with - as a separator\n-% mkpass -d koremutake -s -\nfri-vo-pu-tu-va-fre-fo-tre-dry-dri-ba\n```\n\n[eff]: https://www.eff.org/dice\n[dice]: http://world.std.com/~reinhold/diceware.html\n[kore]: http://shorl.com/koremutake.php\n[OsRng]: https://docs.rs/rand/0.7.0/rand/rngs/struct.OsRng.html\n[uniform]: https://docs.rs/rand/0.7.0/rand/distributions/struct.Uniform.html\n[getrandom]: https://crates.io/crates/getrandom\n[Uniform Random Integers]: https://peteroupc.github.io/randomfunc.html#RNDINT_Random_Integers_in_0_N","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreaky%2Fmkpass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreaky%2Fmkpass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreaky%2Fmkpass/lists"}