{"id":16559117,"url":"https://github.com/xmatthias/pywnedpasswords","last_synced_at":"2025-04-13T06:36:25.103Z","repository":{"id":29660666,"uuid":"122401658","full_name":"xmatthias/pywnedpasswords","owner":"xmatthias","description":"Checkt pwnedpasswords.com in a secure way","archived":false,"fork":false,"pushed_at":"2025-03-19T14:43:09.000Z","size":250,"stargazers_count":30,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-26T23:05:27.538Z","etag":null,"topics":["api-client","password","pwnedpasswords","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/xmatthias.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}},"created_at":"2018-02-21T22:25:48.000Z","updated_at":"2025-03-19T14:43:04.000Z","dependencies_parsed_at":"2023-10-16T21:06:48.502Z","dependency_job_id":"cde2de13-3396-4d68-84d4-2be173db7814","html_url":"https://github.com/xmatthias/pywnedpasswords","commit_stats":{"total_commits":178,"total_committers":8,"mean_commits":22.25,"dds":0.6404494382022472,"last_synced_commit":"e02d801408cbe8b70522b8cf9e0ec1a1ed43c211"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmatthias%2Fpywnedpasswords","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmatthias%2Fpywnedpasswords/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmatthias%2Fpywnedpasswords/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmatthias%2Fpywnedpasswords/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xmatthias","download_url":"https://codeload.github.com/xmatthias/pywnedpasswords/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675302,"owners_count":21143763,"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":["api-client","password","pwnedpasswords","python3"],"created_at":"2024-10-11T20:24:52.123Z","updated_at":"2025-04-13T06:36:25.023Z","avatar_url":"https://github.com/xmatthias.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pywnedPasswords\n\n[![Build Status](https://travis-ci.org/xmatthias/pywnedpasswords.svg?branch=master)](https://travis-ci.org/xmatthias/pywnedpasswords)\n\nThis script uses the pwnedpasswords.com v2 api to check your password in\na secure way (using the [K-anonymity](https://en.wikipedia.org/wiki/K-anonymity) method)\n\nThe full Hash is never transmitted over the wire, only the first 5 characters.\nThe comparison happens offline.\n\nSpecial thanks to Troy Hunt ([@troyhunt](https://twitter.com/troyhunt)) for making this project possible.\n\n## Installation\n\n``` bash\npip install pywnedpasswords\n```\n\n## Usage\n\n### Interactive \n\n``` bash\npywnedpasswords\n```\n\nInsert your password when asked.\n\nthe output will either be:\n\n\u003e Password to check:\n\u003e \n\u003e Found your password 47205 times.\n\nor in case your password is secure\n\n\u003e Password to check:\n\u003e \n\u003e Your password did not appear in PwnedPasswords yet.\n\n\n### Passing the password as a command line argument\n\n**Discouraged - as it might leaves the password in your shell history**\n\n``` bash\npywnedpasswords Passw0rd\n```\n\n\u003e Found your password 46980 times.\n\n\n### Piping the password \n\n**Discouraged - as it might leaves the password in your shell history**\n\n``` bash\necho -n 'Passw0rd!' | pywnedpasswords \n```\n\n\u003e Found your password 46980 times.\n\n### Reading passwords from a file \n\n\n``` bash\npywnedpasswords -f list-of-passwords.txt\n```\n\nResult is in the form: `\u003cline number\u003e: \u003cnumber of time the password was found\u003e`. `0` meaning the password is not known from Have I Been Pwned yet.\n\n\u003e \u003cpre\u003e\n\u003e 0: 7026\n\u003e 1: 45337\n\u003e 2: 376\n\u003e 3: 51\n\u003e 4: 27\n\u003e 5: 11\n\u003e 6: 136\n\u003e 7: 1\n\u003e 8: 6\n\u003e 9: 1\n\u003e 10: 0\n\u003e 11: 0\n\u003e 12: 0\n\u003e \u003c/pre\u003e\n\n\n\n## Exit code\n\nThe `pywnedpasswords` exits with code `2` if the password is know of Have I Been Pwned already, and exit code `0` otherwise.\n\n© xmatthias 2018\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxmatthias%2Fpywnedpasswords","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxmatthias%2Fpywnedpasswords","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxmatthias%2Fpywnedpasswords/lists"}