{"id":18493586,"url":"https://github.com/aswinbarath/password-checker","last_synced_at":"2025-07-12T02:10:06.334Z","repository":{"id":55422305,"uuid":"324571384","full_name":"AswinBarath/Password-checker","owner":"AswinBarath","description":"The most secure password checker project","archived":false,"fork":false,"pushed_at":"2021-01-21T15:59:43.000Z","size":953,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T15:51:57.048Z","etag":null,"topics":["api-request","password-checker","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/AswinBarath.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":"2020-12-26T14:26:28.000Z","updated_at":"2021-12-29T04:21:15.000Z","dependencies_parsed_at":"2022-08-15T00:00:43.096Z","dependency_job_id":null,"html_url":"https://github.com/AswinBarath/Password-checker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AswinBarath/Password-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AswinBarath%2FPassword-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AswinBarath%2FPassword-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AswinBarath%2FPassword-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AswinBarath%2FPassword-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AswinBarath","download_url":"https://codeload.github.com/AswinBarath/Password-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AswinBarath%2FPassword-checker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264923636,"owners_count":23683780,"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-request","password-checker","python","python3"],"created_at":"2024-11-06T13:15:18.758Z","updated_at":"2025-07-12T02:10:06.302Z","avatar_url":"https://github.com/AswinBarath.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Password-checker\n\n\u003cp\u003e\n\u003cimg src=\"logo.png\" width=\"60%\" alt=\"password-checker\" /\u003e\n\u003c/p\u003e\n\n\u003cem\u003eThe most secure password checker project\u003c/em\u003e\u003cbr\u003e\n\u003cstrong\u003ePassword-checker\u003c/strong\u003e is a python script which checks whether your password is ever being being hacked/leaked or not.\n\n---\n\n## Table of content\n\n- [Libraries](#Libraries-used)\n- [Working of the code](#Working-of-the-code)\n- [Importance of password strength](#Importance-of-password-strength)\n- [Contributors](#Contributors)\n---\n\n## Libraries-used\nThe following libraries are used in the password-checker script:\n- [Requests](https://requests.readthedocs.io/en/master/)\n- [hashlib](https://docs.python.org/3/library/hashlib.html)\n- [sys](https://docs.python.org/3/library/sys.html)\n\n---\n**[⬆ Back to Top](#Table-of-content)**\n\n\n## Working of the code\n- Password-checker script gets input(s) from the command line and checks whether it's ever being hacked/leaked or not.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"password-checker-ip.png\"\u003e\n\u003c/div\u003e\n\n- The idea here is implemented using an API, request/response cycle, and hashing\n- The script is implemented in three key functions:\n1. pwned_api_check()\n2. request_api_data()\n3. get_password_leaks_counts()\n---\n- The script works by taking input as command line arguements: PASSWORD1, PASSWORD2, P@$$W0RD3 (for example)\n- Later, the passwords gets hashed using SHA1 algorithm for secure request/response over the internet\n- Then, the hashed password is divided into two parts namely, head and tail\n---\n- Now, only the *head of the hashed password* is sent as a request query through the API\n- The API being used is offered by [Have I Been Pwned](https://haveibeenpwned.com/Passwords) website.\n- The process of sending only the head is known as [**k-anonymity**](https://en.wikipedia.org/wiki/K-anonymity#:~:text=The%20concept%20of%20k%2Danonymity,subjects%20of%20the%20data%20cannot)\n(This process is done for secure request/response cycle over the internet to avoid Man in the Middle attack)\n---\n- The response we receive is a list of tail part of password hashes, and the number of times the password is leaked from the API's database server\n- Now, the tail part of our hash can be compared with the set of hashes and counts received from the API to securely check our password's strength\n- And the result is provided either with the count of hacks or your password is secure message as follows:\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"password-checker-op.png\"\u003e\n\u003c/div\u003e\n\n---\n**[⬆ Back to Top](#Table-of-content)**\n\n\n### Importance of password strength\n- Importance of the strength of your password is vital in the protection of your personal data.\n- The strength of the password depends on factors like:\n    - Length of your password\n    - Usage of numbers\n    - Usage of lowercase letters\n    - Usage of uppercase letters\n    - Usage of special characters\n- If you take care of the above factors, the time taken to crack your password will be: \n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"Password-Stat.png\" width=\"60%\"\u003e\n\u003c/div\u003e\n\n---\n**[⬆ Back to Top](#Table-of-content)**\n\n#### Contributors\n\n- T Aswin Barath \u003chttps://github.com/AswinBarath\u003e\n- G Kishore \u003chttps://github.com/gkrockz\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faswinbarath%2Fpassword-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faswinbarath%2Fpassword-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faswinbarath%2Fpassword-checker/lists"}