{"id":17648977,"url":"https://github.com/serverwentdown/pword","last_synced_at":"2025-03-30T07:42:55.647Z","repository":{"id":57603881,"uuid":"97397012","full_name":"serverwentdown/pword","owner":"serverwentdown","description":"Generate secure passwords","archived":false,"fork":false,"pushed_at":"2017-10-09T10:32:10.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-05T09:53:44.554Z","etag":null,"topics":["golang","password-generator"],"latest_commit_sha":null,"homepage":"","language":"Go","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/serverwentdown.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}},"created_at":"2017-07-16T16:47:24.000Z","updated_at":"2017-12-23T21:44:05.000Z","dependencies_parsed_at":"2022-09-26T20:00:53.719Z","dependency_job_id":null,"html_url":"https://github.com/serverwentdown/pword","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/serverwentdown%2Fpword","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverwentdown%2Fpword/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverwentdown%2Fpword/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverwentdown%2Fpword/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serverwentdown","download_url":"https://codeload.github.com/serverwentdown/pword/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246290581,"owners_count":20753724,"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":["golang","password-generator"],"created_at":"2024-10-23T11:22:46.060Z","updated_at":"2025-03-30T07:42:55.629Z","avatar_url":"https://github.com/serverwentdown.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# pword\n\nGenerate secure passwords. \n\n# Overview\n\n`pword` is a utility to generate strong passwords that are memorable. \n\n```\n$ pword online\nwipeout doorstep copier announcer\npantyhose drainpipe wikipedia glycerin\nremote receipt aidless ladder\nmakeover tattoo generator yogurt\n```\n\nIt is based on the concept behind [XKCD 936](https://xkcd.com/936/) and [XKCD-password-generator](https://github.com/redacted/XKCD-password-generator). It makes use of [EFF's typo-tolerant wordlist](https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases) to provide live autocomplete.\n\n# CLI Usage\n\n```\n$ pword help\nNAME:\n   pword - generate secure passwords\n\nUSAGE:\n   pword [global options] command [command options] [arguments...]\n\nVERSION:\n   0.1.0\n\nCOMMANDS:\n     online   Generates passwords for use on websites\n     offline  Generates passwords for use offline (laptops, encrypted drives)\n     crypto   Generates extremely secure passwords\n     recall   Utility with autocomplete to help you recall passwords\n     help, h  Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --count NUM, -c NUM  Generates NUM passwords for you to choose from (default: \"auto\")\n   -1                   Equivalent to --count 1\n   --stronger           Chooses from a list of 7,776 words instead\n   --help, -h           show help\n   --version, -v        print the version\n```\n\n# Library Usage\n\nWIP\n\n```\nimport \"github.com/serverwentdown/pword/pw\"\n```\n\n# Modes\n\n## Online\n\nThis mode generates a 4-word password from the 1,296-word list. The number of possible combinations would be \n\n```\n1,296 ^ 4 = 2,821,109,907,456\n```\n\nIf an attacker could brute-force passwords on a website at 1,000 requests/second (where he would definitely hit rate limits), it would take about\n\n```\n2,821,109,907,456 / 1000 / 60 / 60 / 24 / 365 = 89.46\n```\n\nyears to crack it. This is secure enough for online websites.  \n\n## Offline\n\nThis mode generates a 6-word password. This equates to\n\n```\n1,296 ^ 6 = 4,738,381,338,321,616,896\n```\n\npossible combinations. With the MD5 hash and [8 Nvidia GTX 1080 GPUs](https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40) cracking the password would take about\n\n```\n4,738,381,338,321,616,896 / 25,000,000,000 / 60 / 60 / 24 / 365 = 6.010\n```\n\nyears to crack. That would cost the attacker a lot of energy. If the password was hashed using SHA512 it would take about\n\n```\n4,738,381,338,321,616,896 / 1,100,000,000 / 60 / 60 / 24 / 365 = 136.6\n```\n\nyears to crack. This is definitely secure enough for offline use (your laptop's password, encrypted drive)\n\n## Crypto\n\nThis mode generates a 8-word password. There would be\n\n```\n1,296 ^ 8 = 7,958,661,109,946,400,884,391,936\n```\n\npossible combinations, and would take about\n\n```\n7,958,661,109,946,400,884,391,936 / 1,100,000,000 / 60 / 60 / 24 / 365 = 229400000\n```\n\nyears to crack. If someone were to sponsor 8000 Nvidia GTX 1080 GPUs, it will still take a huge number of years to crack. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverwentdown%2Fpword","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserverwentdown%2Fpword","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverwentdown%2Fpword/lists"}