{"id":36534989,"url":"https://github.com/camandel/check-password-strength","last_synced_at":"2026-01-12T03:11:36.929Z","repository":{"id":43009143,"uuid":"348308614","full_name":"camandel/check-password-strength","owner":"camandel","description":"check-password-strength is an open-source tool that could help you to check how your passwords are good","archived":false,"fork":false,"pushed_at":"2024-09-05T14:31:16.000Z","size":1313,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-06T15:39:14.560Z","etag":null,"topics":["password","password-strength","security","tool","zxcvbn"],"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/camandel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-03-16T10:42:59.000Z","updated_at":"2024-09-05T14:31:19.000Z","dependencies_parsed_at":"2022-09-13T18:47:49.980Z","dependency_job_id":"8aaf77cd-53d4-4837-9a44-f4f22421e0e6","html_url":"https://github.com/camandel/check-password-strength","commit_stats":{"total_commits":19,"total_committers":1,"mean_commits":19.0,"dds":0.0,"last_synced_commit":"37c04596e07fc408feabe8e8a9e4422bf1c32921"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/camandel/check-password-strength","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camandel%2Fcheck-password-strength","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camandel%2Fcheck-password-strength/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camandel%2Fcheck-password-strength/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camandel%2Fcheck-password-strength/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camandel","download_url":"https://codeload.github.com/camandel/check-password-strength/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camandel%2Fcheck-password-strength/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28333063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"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":["password","password-strength","security","tool","zxcvbn"],"created_at":"2026-01-12T03:11:36.231Z","updated_at":"2026-01-12T03:11:36.920Z","avatar_url":"https://github.com/camandel.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# check-password-strength\n\n[![CI](https://github.com/camandel/check-password-strength/actions/workflows/ci.yml/badge.svg)](https://github.com/camandel/check-password-strength/actions/workflows/ci.yml) [![Build Release](https://github.com/camandel/check-password-strength/actions/workflows/release.yml/badge.svg)](https://github.com/camandel/check-password-strength/actions/workflows/release.yml)\n\ncheck-password-strength is a tool that runs on Linux, Windows and MacOS that could help you to check how your passwords are good. It reads data from a CSV file, user input or stdin and assigns a score to each password within a range from 0 (worst) to 4 (best):\n\n```\n$ check-password-strength -f password.csv\n```\n![img](assets/img/screenshot.jpg?raw=true)\n\nIt's based on the awesome [zxcvbn](https://github.com/dropbox/zxcvbn) library and its Go porting [zxcvbn-go](https://github.com/nbutton23/zxcvbn-go).\n\nThe passwords will be checked on:\n- english words and names\n- italian words and names\n- common used passwords\n- common keyboards sequences\n- l33t substitutions\n- username as part of the password\n- duplicated passwords\n- a custom dictionary (json or txt) can be loaded at runtime\n\nIt supports `CSV files` exported from the most popular Password Managers and Browsers:\n\n- [x] LastPass\n- [x] Bitwarden\n- [x] Keepass\n- [x] Firefox\n- [x] Chrome\n- [x] Custom (*)\n\n(*) the custom CSV files must have a header with at least the following three fields: `url,username,password`\n\nTo check only one password at a time it can be used in `interactive` mode (password will not be displayed as you type):\n```\n$ check-password-strength -i\nEnter Username: username\nEnter Password: \n  URL | USERNAME | PASSWORD |   SCORE (0-4)    | ESTIMATED TIME TO CRACK | ALREADY USED   \n------+----------+----------+------------------+-------------------------+---------------\n      | username | p******d |  0 - Really bad  | instant                 |\n```\nor reading from `stdin`:\n```\n$ echo $PASSWORD | check-password-strength\n  URL | USERNAME | PASSWORD |   SCORE (0-4)    | ESTIMATED TIME TO CRACK | ALREADY USED  \n------+----------+----------+------------------+-------------------------+---------------\n      |          | p******j |  4 - Strong      | centuries               |\n```\nIf you need to use it in a script you can use `-q` flag. It will display nothing on stdout and the `exit code` will contain the password score (it works only with single password):\n```\n$ echo $PASSWORD | ./check-password-strength -q\n$ echo $?\n4\n```\nYou can also display overall statistics about your passwords:\n```\n$ check-password-strength -f password.csv --stats\n```\n![img](assets/img/stats-screenshot.jpg?raw=true)\n\n## Getting started\n\n### Install\n\nInstallation of check-password-strength is simple, just download [the release for your system](https://github.com/camandel/check-password-strength/releases) and run the binary:\n```\n$ chmod +x check-password-strength\n$ ./check-password-strength -f password.csv\n```\nor run it in a Docker container:\n```\n$ docker run --rm --net none -v $PWD:/data:ro camandel/check-password-strength -f /data/password.csv\n```\n\n### Building from source\n\n```\n$ git clone https://github.com/camandel/check-password-strength\n\n$ cd check-password-strength\n\n$ # it compiles for current OS and ARCH\n$ make\n```\n#### For Linux\n\n```shell linux\n$ make linux-64\n```\n#### For MacOS\n\n```shell linux\n$ make macos-64\n```\n#### For Windows\n\n```shell\n$ make windows-32\n```\nor \n```shell\n$ make windows-64\n```\n#### For Docker image\n\n````shell linux\n$ make docker\n````\nIt will create a local image called `check-password-strength:latest`\n\n### Run\n\nYou can use command line or the Docker image:\n\n```\n$ check-password-strength -h\nNAME:\n   check-password-strength - Check the passwords strength from csv file, console or stdin\n\nUSAGE:\n   check-password-strength [options]\n\nVERSION:\n   v0.0.7\n\nCOMMANDS:\n   help, h  Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --filename CSVFILE, -f CSVFILE      Check passwords from CSVFILE\n   --customdict FILE, -c FILE          Load custom dictionary from FILE (json, txt or lst)\n   --interactive, -i                   enable interactive mode asking data from console (default: false)\n   --stats, -s                         display only statistics (default: false)\n   --quiet, -q                         return score as exit code (valid only with single password) (default: false)\n   --limit value, -l value             Limit output based on score [0-4] (valid only with csv file) (default: 4)\n   --debug, -d                         show debug logs (default: false)\n   --help, -h                          show help (default: false)\n   --version, -v                       print the version (default: false)\n```\n\n## How to add custom dictionary\nIf you need to add your custom dictionary to the integrated ones, create a `json` file in the following format:\n\n```json\n{\n    \"words\": [\n        \"foo\",\n        \"bar\",\n        \"baz\",\n    ]\n}\n```\nor a `txt` file like this one:\n```\nfoo\nbar\nbaz\n```\nand load it at runtime with the `-c` flag:\n```\n$ check-password-strength -c customdict.json -f password.csv\n```\nOr add it directly into the binary copying the json file in `assets/data` and recompile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamandel%2Fcheck-password-strength","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamandel%2Fcheck-password-strength","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamandel%2Fcheck-password-strength/lists"}