{"id":31580257,"url":"https://github.com/jb2170/werkzeugsecuritycli","last_synced_at":"2026-05-14T20:31:28.846Z","repository":{"id":268221476,"uuid":"903693277","full_name":"jb2170/WerkzeugSecurityCLI","owner":"jb2170","description":"Generate and check werkzeug.security password hashes on the command line","archived":false,"fork":false,"pushed_at":"2024-12-15T10:17:26.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T21:20:34.081Z","etag":null,"topics":["flask","werkzeug"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/WerkzeugSecurityCLI/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jb2170.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":"2024-12-15T10:04:04.000Z","updated_at":"2025-06-22T18:12:19.000Z","dependencies_parsed_at":"2024-12-15T10:29:05.209Z","dependency_job_id":"99c1436d-4a63-46ed-b3cf-797b4c808f53","html_url":"https://github.com/jb2170/WerkzeugSecurityCLI","commit_stats":null,"previous_names":["jb2170/werkzeugsecuritycli"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jb2170/WerkzeugSecurityCLI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb2170%2FWerkzeugSecurityCLI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb2170%2FWerkzeugSecurityCLI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb2170%2FWerkzeugSecurityCLI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb2170%2FWerkzeugSecurityCLI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jb2170","download_url":"https://codeload.github.com/jb2170/WerkzeugSecurityCLI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb2170%2FWerkzeugSecurityCLI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33042098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"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":["flask","werkzeug"],"created_at":"2025-10-05T21:10:01.696Z","updated_at":"2026-05-14T20:31:28.832Z","avatar_url":"https://github.com/jb2170.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WerkzeugSecurityCLI\n\nA CLI wrapper around\n\n- `werkzeug.security.generate_password_hash`\n- `werkzeug.security.check_password_hash`\n\nfor generating and checking [`werkzeug.security`](https://werkzeug.palletsprojects.com/en/stable/utils/#module-werkzeug.security) password hashes on the command line\n\n## Disclaimer!\n\nNot associated with [Werkzeug](https://github.com/pallets/werkzeug/) in any way! (other than using their wonderful software :D)\n\n## Examples\n\n```\n$ HASH=$(wzscli generate my-test-password-123)\n$ echo \"${HASH}\"\nscrypt:32768:8:1$pyMfKdIqwYxw0GOT$6d49052bdf9cffb2288d7cb198d7bed5566f284932dad0c74b3948866b1468220afd93e9aa17069c4a2403d33747e5e71981c3c552d751a0e249642b6641bac5\n$ wzscli check \"${HASH}\" my-test-password-12\nFalse\n$ wzscli check \"${HASH}\" my-test-password-123\nTrue\n```\n\nOne can supply the `password` positional argument directly in the command line argv as above, or supply `-` to read the password from stdin using Python's `getpass` module as below\n\n```\n$ HASH=$(wzscli generate -)\n\u003e Password: # sneedy-feedy\n$ wzscli check \"${HASH}\" -\n\u003e Password: # sneedy-feedy\nTrue\n```\n\n## Installing\n\nAvailable on PyPI as [WerkzeugSecurityCLI](https://pypi.org/project/WerkzeugSecurityCLI/).\n\nI like to use `pipx` to manage Python CLI utils:\n\n```\n$ pipx install WerkzeugSecurityCLI\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjb2170%2Fwerkzeugsecuritycli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjb2170%2Fwerkzeugsecuritycli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjb2170%2Fwerkzeugsecuritycli/lists"}