{"id":19655954,"url":"https://github.com/dislick/ts-pwgen","last_synced_at":"2025-04-28T18:32:21.085Z","repository":{"id":15119870,"uuid":"77594888","full_name":"dislick/ts-pwgen","owner":"dislick","description":"Command-Line Password Generator in TypeScript","archived":false,"fork":false,"pushed_at":"2023-01-06T05:48:53.000Z","size":1229,"stargazers_count":20,"open_issues_count":9,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-14T13:12:00.741Z","etag":null,"topics":["nodejs","password-generator","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dislick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-29T08:04:34.000Z","updated_at":"2023-02-15T12:14:15.000Z","dependencies_parsed_at":"2023-01-13T18:16:03.678Z","dependency_job_id":null,"html_url":"https://github.com/dislick/ts-pwgen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dislick%2Fts-pwgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dislick%2Fts-pwgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dislick%2Fts-pwgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dislick%2Fts-pwgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dislick","download_url":"https://codeload.github.com/dislick/ts-pwgen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224126966,"owners_count":17260138,"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","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":["nodejs","password-generator","typescript"],"created_at":"2024-11-11T15:25:18.999Z","updated_at":"2024-11-11T15:25:19.808Z","avatar_url":"https://github.com/dislick.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ts-pwgen\n\nCommand-Line Password Generator in TypeScript\n\n[![npm](https://img.shields.io/npm/v/ts-pwgen.svg)](https://www.npmjs.com/package/ts-pwgen) [![npm](https://img.shields.io/npm/dt/ts-pwgen.svg)](https://www.npmjs.com/package/ts-pwgen)\n\n## Installation\n\n```\nnpm install -g ts-pwgen\n```\n\n## Good to know\n\n- It has a default password length of 30 characters\n- It uses lowercase/uppercase letters, numbers and special characters when you don't pass any arguments saying otherwise\n- It uses [`crypto.randomBytes()`](https://nodejs.org/api/crypto.html#crypto_crypto_randombytes_size_callback) instead of `Math.random()`.\n- You should try the `--verbose` flag to see how long it would take a supercomputer (10^12 pw/sec) to crack your generated password\n- Use `-k` if you don't like the copy-to-clipboard feature\n\n## Demo\n\n![demo video](pwgendemo.gif)\n\n## Usage\n\n```\npwgen --help\n```\n\n```\nUsage: pwgen [--length 10] [--parts 3] [--delimiter \"-\"] [--count 3] [-aAns]\n\nOptions:\n  -p, --parts      Define how many parts there should be\n  -l, --length     Define the length of a part\n  -d, --delimiter  Define the delimiter to use if there are multiple parts\n  -c, --count      Define how many passwords to generate           [Standard: 1]\n  -a, --ascii      Use lowercase letters                               [boolean]\n  -A, --ASCII      Use uppercase letters                               [boolean]\n  -n, --numbers    Use numbers                                         [boolean]\n  -s, --special    Use special characters                              [boolean]\n  -x, --latin1     Use latin1 characters                               [boolean]\n  -v, --verbose    Verbose output, see how long it would take a supercomputer to\n                   crack your generated password(s)  [boolean] [Standard: false]\n  -k               Do not copy the password to the clipboard\n                                                     [boolean] [Standard: false]\n  --version        Display current version                             [boolean]\n  -h, --help       Show help                                           [boolean]\n```\n\n## Examples\n\n### Custom length\n\n`pwgen -l 16` or `pwgen --length 16` or `pwgen --length=16`\n\n```\n-TI)!9~GmQm~a=jj\n```\n\n### Parts with delimiter\n\n`pwgen --parts=3 --length=5 --delimiter=\"-\"`\n\n```\n1TX)C-rivp\u003c-MWvZ5\n```\n\n#### ProTip: Use parts for WiFi-friendly passwords\n\n`pwgen -p 4 -l 5 -an`\n\n```\njhnxp-geehp-rtz2n-3m4vt\n```\n\nThe delimiter defaults to `-`.\n\n### See how long it would take a supercomputer to crack your password\n\n`pwgen -l 16 -v`\n\n```\nPassword length:       16\nDifferent characters:  91\nPossible combinations: 2.211374397284394e+31\n\nRequired time to crack (10^12 passwords/s)\n              Seconds: 11056871986421970000\n                Years: 350566645098.98\n  Age of the universe: 25.71\n\na*aO)~}xv|4s+Z4*\n\nPassword successfully copied to clipboard!\n```\n\n### Create multiple passwords\n\n`pwgen -c 5`\n\n```\n@T:6Z8}5G\"dIENbab^qvh;^}##LY{F\n3Qy7@`\u0026Ujh;aQL0dMz%@M(IfswdLfa\nSg5O+@L\u003c:Ni1E\u003ek\u003cF\u003e{,XvS|{Y|^W|\nZKf/]e-unOP8YWPv4W@eYe*yL6{lk}\nN^)@rFD+1F-G!v%UZcxeV)FzIMfn]]\n```\n\n### Use lowercase letters only\n\n`pwgen -a`\n\n```\njpgthoyjmwumnoiroqynbhywoxhjnb\n```\n\n### Use uppercase letters only\n\n`pwgen -A`\n\n```\nAUAYYZJXWMIKMPJGHVQSPKUGPUFTCU\n```\n\n### Use numbers only\n\n`pwgen -n`\n\n```\n647681199479680747570268980919\n```\n\n### Use special characters only\n\n`pwgen -s`\n\n```\n=\u003c}(\u003c\u003e}/,_.*@:|\u003c*++\"=)^;^:|)_+\n```\n\n### Use latin1 characters only\n\n`pwgen -x`\n\n```\n»°ÃÑîÍí¢ÆñÓò¾ÅÚïñ°ÕÔÏúñ¼Ï´¦îÓê\n```\n\n### Use letters and numbers (combine charsets)\n\n`pwgen -aAn`\n\n```\nAPlngye5IiXTu0z7NETffgS67bOX48\n```\n\n## Development\n\n### Unit tests\n\n```\nnpm test\n```\n\n### Build from TypeScript source\n\n```\nnpm run build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdislick%2Fts-pwgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdislick%2Fts-pwgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdislick%2Fts-pwgen/lists"}