{"id":21971360,"url":"https://github.com/nbutton23/zxcvbn-go","last_synced_at":"2025-07-22T17:32:54.938Z","repository":{"id":2442479,"uuid":"43398495","full_name":"nbutton23/zxcvbn-go","owner":"nbutton23","description":"zxcvbn password complexity algorithm in golang","archived":true,"fork":false,"pushed_at":"2022-06-06T15:28:24.000Z","size":1979,"stargazers_count":374,"open_issues_count":9,"forks_count":48,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-06-18T12:30:36.014Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/nbutton23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-29T22:39:20.000Z","updated_at":"2024-05-20T12:49:22.000Z","dependencies_parsed_at":"2022-09-18T10:51:42.550Z","dependency_job_id":null,"html_url":"https://github.com/nbutton23/zxcvbn-go","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbutton23%2Fzxcvbn-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbutton23%2Fzxcvbn-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbutton23%2Fzxcvbn-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbutton23%2Fzxcvbn-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nbutton23","download_url":"https://codeload.github.com/nbutton23/zxcvbn-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227149539,"owners_count":17738249,"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":[],"created_at":"2024-11-29T14:50:19.286Z","updated_at":"2024-11-29T14:50:22.805Z","avatar_url":"https://github.com/nbutton23.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"This is a goLang port of python-zxcvbn and [zxcvbn](https://github.com/dropbox/zxcvbn), which are python and JavaScript password strength\ngenerators. zxcvbn attempts to give sound password advice through pattern\nmatching and conservative entropy calculations. It finds 10k common passwords,\ncommon American names and surnames, common English words, and common patterns\nlike dates, repeats (aaa), sequences (abcd), and QWERTY patterns.\n\nPlease refer to https://dropbox.tech/security/zxcvbn-realistic-password-strength-estimation for the full details and\nmotivation behind zxcbvn. The source code for the original JavaScript (well,\nactually CoffeeScript) implementation can be found at:\n\nhttps://github.com/lowe/zxcvbn\n\nPython at:\n\nhttps://github.com/dropbox/python-zxcvbn\n\nFor full motivation, see:\n\nhttps://dropbox.tech/security/zxcvbn-realistic-password-strength-estimation\n\n------------------------------------------------------------------------\nUse\n------------------------------------------------------------------------\n\nThe zxcvbn module has the public method PasswordStrength() function. Import zxcvbn, and\ncall PasswordStrength(password string, userInputs []string).  The function will return a\nresult dictionary with the following keys:\n\nEntropy            # bits\n\nCrackTime         # estimation of actual crack time, in seconds.\n\nCrackTimeDisplay # same crack time, as a friendlier string:\n                   # \"instant\", \"6 minutes\", \"centuries\", etc.\n\nScore              # [0,1,2,3,4] if crack time is less than\n                   # [10^2, 10^4, 10^6, 10^8, Infinity].\n                   # (useful for implementing a strength bar.)\n\nMatchSequence     # the list of patterns that zxcvbn based the\n                   # entropy calculation on.\n\nCalcTime   # how long it took to calculate an answer,\n                   # in milliseconds. usually only a few ms.\n\nThe userInputs argument is an splice of strings that zxcvbn\nwill add to its internal dictionary. This can be whatever list of\nstrings you like, but is meant for user inputs from other fields of the\nform, like name and email. That way a password that includes the user's\npersonal info can be heavily penalized. This list is also good for\nsite-specific vocabulary.\n\nBug reports and pull requests welcome!\n\n------------------------------------------------------------------------\nProject Status\n------------------------------------------------------------------------\n\nUse zxcvbn_test.go to check how close to feature parity the project is.\n\n------------------------------------------------------------------------\nAcknowledgment\n------------------------------------------------------------------------\n\nThanks to Dan Wheeler (https://github.com/lowe) for the CoffeeScript implementation\n(see above.) To repeat his outside acknowledgements (which remain useful, as always):\n\nMany thanks to Mark Burnett for releasing his 10k top passwords list:\nhttps://xato.net/passwords/more-top-worst-passwords\nand for his 2006 book,\n\"Perfect Passwords: Selection, Protection, Authentication\"\n\nHuge thanks to Wiktionary contributors for building a frequency list\nof English as used in television and movies:\nhttps://en.wiktionary.org/wiki/Wiktionary:Frequency_lists\n\nLast but not least, big thanks to xkcd :)\nhttps://xkcd.com/936/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbutton23%2Fzxcvbn-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnbutton23%2Fzxcvbn-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbutton23%2Fzxcvbn-go/lists"}