{"_id":"tai-password-strength","_rev":"17-8d6932c654d314d2bce101ee81b5c53e","name":"tai-password-strength","description":"Check password strength","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"tai-password-strength","version":"1.0.0","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/AbsentSemicolon/password-strength","bugs":{"url":"https://github.com/AbsentSemicolon/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/AbsentSemicolon/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"fid-umd":"*","grunt":"~0.4.1","grunt-benchmark":"*","grunt-cli":"*","grunt-contrib-connect":"*","grunt-jasmine-node":"*","grunt-jslint":"*"},"license":"MIT","scripts":{"jasmine":"grunt jasmine_node","jslint":"grunt jslint","server":"grunt connect","test":"grunt test","umd":"fid-umd lib/*.js"},"gitHead":"f42920e1022a035f757f4733400753de62675fe5","_id":"tai-password-strength@1.0.0","_shasum":"6989ca4e9c629cb42a2a993ed091ee90dcef8de8","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"shasum":"6989ca4e9c629cb42a2a993ed091ee90dcef8de8","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.0.0.tgz","integrity":"sha512-LJuX6uZPGUkuu0JOZGtir1Bd4OwxV7Nfig1m/wlRaP+myNAMlcaY9L/MP/aktasTVRY7+Lyvbsdk9vmgV0HPfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQ9lws0qgiApfw4Etwf4VVNbihBddtX5SOh9GPBRPCNgIgZnQS4bqT3Abf/rHe7dGpwYnNEEFDBy9s+L4J3Y5Nvlw="}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/tai-password-strength-1.0.0.tgz_1458745427880_0.2266014637425542"},"directories":{}},"1.0.1":{"name":"tai-password-strength","version":"1.0.1","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/AbsentSemicolon/password-strength","bugs":{"url":"https://github.com/AbsentSemicolon/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/AbsentSemicolon/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"fid-umd":"*","grunt":"~0.4.1","grunt-benchmark":"*","grunt-cli":"*","grunt-contrib-connect":"*","grunt-jasmine-node":"*","grunt-jslint":"*"},"license":"MIT","scripts":{"jasmine":"grunt jasmine_node","jslint":"grunt jslint","server":"grunt connect","test":"grunt test","umd":"fid-umd lib/*.js"},"gitHead":"154e43eb20fa4b93f6395f23e22dc09164f245ee","_id":"tai-password-strength@1.0.1","_shasum":"a566e365770011b79ce0532df004fd10e5dec5cd","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"shasum":"a566e365770011b79ce0532df004fd10e5dec5cd","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.0.1.tgz","integrity":"sha512-wj/ODjI/EQbi/+scXWdhJjCz6L2ciNN6GSQKThMCF2Y3+OWaq9V1aEenahJhZKEiRVpsEIXJ5dz2LdzVYc0Dgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCj32X6i1V2GAhsRPqUFpDcyHxZH97tmjX3bxLzXErdLQIhANM2kAl/Tbf7Jewoo+JxgCfbkCcvcObfmOFLiZdE0rb6"}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tai-password-strength-1.0.1.tgz_1458924357906_0.1951156707946211"},"directories":{}},"1.0.2":{"name":"tai-password-strength","version":"1.0.2","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/AbsentSemicolon/password-strength","bugs":{"url":"https://github.com/AbsentSemicolon/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/AbsentSemicolon/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"fid-umd":"*","grunt":"~0.4.1","grunt-benchmark":"*","grunt-cli":"*","grunt-contrib-connect":"*","grunt-jasmine-node":"*","grunt-jslint":"*"},"license":"MIT","scripts":{"jasmine":"grunt jasmine_node","jslint":"grunt jslint","server":"grunt connect","test":"grunt test","umd":"fid-umd lib/*.js"},"gitHead":"b7300db49850f6ced58067f08488bf1dede4a82e","_id":"tai-password-strength@1.0.2","_shasum":"510d3a3684fe313874ebd851d52077011f2c7d18","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"shasum":"510d3a3684fe313874ebd851d52077011f2c7d18","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.0.2.tgz","integrity":"sha512-XMeHbDQpLkIQ8joJsa7HKufvq0oBbaGuMrvOmoZ3PP8BWsrqQ05DzS0+Taq+XId59q0kT2UKyh+fmwfJUC6tsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVWZxNzWiA4H8EslZyZIV7FczfXdGez6bdLqd9CisxHAIhAOoM6Qx2gk2ml2/DFWrHDKf1NMW8uZvtjHRdK8D5oqv1"}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tai-password-strength-1.0.2.tgz_1459859799247_0.2836156969424337"},"directories":{}},"1.0.3":{"name":"tai-password-strength","version":"1.0.3","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/AbsentSemicolon/password-strength","bugs":{"url":"https://github.com/AbsentSemicolon/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/AbsentSemicolon/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"fid-umd":"*","grunt":"~0.4.1","grunt-benchmark":"*","grunt-cli":"*","grunt-contrib-connect":"*","grunt-jasmine-node":"*","grunt-jslint":"*"},"license":"MIT","scripts":{"jasmine":"grunt jasmine_node","jslint":"grunt jslint","server":"grunt connect","test":"grunt test","umd":"fid-umd lib/*.js"},"gitHead":"789750324d84fe3c15df4abfeb7e56a7fed3dac9","_id":"tai-password-strength@1.0.3","_shasum":"f52f674ab0398b003a59e62e70c9442c37c0aa25","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"shasum":"f52f674ab0398b003a59e62e70c9442c37c0aa25","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.0.3.tgz","integrity":"sha512-QWdCgfymeRr7LpNZbzGXi0l/1M0O+Zyrdczf+2fTWjOHDYXYomXmAVAtk5tdyFP7k5tNDvYQBM5Nwe4HSWeFTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQfQiejbr/2mWtvm3vtnBsEfq23jHVrcv4LLaD+f8ocAiEAlGQUgQDpWroThuGbvfFUh7TvDtInHR8V1rEc10USM2U="}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tai-password-strength-1.0.3.tgz_1459860176393_0.9515904858708382"},"directories":{}},"1.0.4":{"name":"tai-password-strength","version":"1.0.4","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/tests-always-included/password-strength","bugs":{"url":"https://github.com/tests-always-included/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/tests-always-included/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"fid-umd":"*","grunt":"~0.4.1","grunt-benchmark":"*","grunt-cli":"*","grunt-contrib-connect":"*","grunt-jasmine-node":"*","grunt-jslint":"*"},"license":"MIT","scripts":{"jasmine":"grunt jasmine_node","jslint":"grunt jslint","server":"grunt connect","test":"grunt test","umd":"fid-umd lib/*.js"},"gitHead":"90567a3558187f96679efec87e09cfb142ba5fb4","_id":"tai-password-strength@1.0.4","_shasum":"faa5ad7f56323ed950ff350c289ec53f5a6b08ab","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"shasum":"faa5ad7f56323ed950ff350c289ec53f5a6b08ab","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.0.4.tgz","integrity":"sha512-BE33JKxcGX8/hb3Fo288Kw6T8S/3rslUZ2gypwzJWzXRE40BhX4FOH2iBTFvo2uEP7Rg/VvFpBwb7GlPmYGaPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGASy2yWPqPzM+qTuOqOynTr3SnIOxtkgA0KPBS+Z6GoAiA8Ubcqb5M1g8NM09VBSEnV8N87mqgWt0fs18OluvmZxQ=="}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tai-password-strength-1.0.4.tgz_1463401775505_0.9094537631608546"},"directories":{}},"1.1.0":{"name":"tai-password-strength","version":"1.1.0","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/tests-always-included/password-strength","bugs":{"url":"https://github.com/tests-always-included/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/tests-always-included/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"fid-umd":"*","grunt":"~1.0.1","grunt-benchmark":"*","grunt-cli":"*","grunt-contrib-connect":"*","grunt-jasmine-node":"*","grunt-jslint":"*"},"license":"MIT","scripts":{"clean":"rm -rf node_modules package-lock.json","jasmine":"grunt jasmine_node","jslint":"grunt jslint","server":"grunt connect","test":"grunt test","umd":"fid-umd lib/*.js"},"gitHead":"456f65676f22b172a48638bed4b5671f2abc1593","_id":"tai-password-strength@1.1.0","_npmVersion":"5.0.3","_nodeVersion":"8.0.0","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"integrity":"sha512-bUenNwuH6TvOgBejiJ1QfyvrAZ5Akx+WQR8hvzwIa2Y62u4+OCe0Qd7YvYeYrPya7Il9KyQZMg5eQFkG7lbdaA==","shasum":"fd232699556c0dc08f2e6622645cfb1a41b55c27","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWxFsGToeiFq/q00SS2ZvNQ/Yomqa7FBZkTlGZ3hbGZQIgRCLFGJn7D1GpYpMTK6H9Vxy2OMpC7sqrZ9ri9FTqb9k="}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tai-password-strength-1.1.0.tgz_1498573046328_0.13899792614392936"},"directories":{}},"1.1.1":{"name":"tai-password-strength","version":"1.1.1","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/tests-always-included/password-strength","bugs":{"url":"https://github.com/tests-always-included/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/tests-always-included/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"eslint":"4.5.0","eslint-plugin-jasmine":"2.8.4","fid-umd":"*","jasmine":"2.7.0"},"license":"MIT","scripts":{"clean":"rm -rf node_modules package-lock.json","jasmine":"jasmine","lint":"eslint .","test":"jasmine && eslint .","umd":"fid-umd lib/*.js"},"gitHead":"4ed8e0e1dd2d6e52c040248e0e9eaf2690439687","_id":"tai-password-strength@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"dist":{"integrity":"sha512-TWegb9WLAaU0Sx4cxpwpUSIGE+Jz8+VJCQBvXYoeOWDUZ6aobyvzQbPEqwEkleZ9AE3JfX6G3ytRbo4OHZbjog==","shasum":"24e086fb841bafaf040ed3eb5225a7ba637bfe04","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAzdX3olMjK+9uuiUeV3pYV6ujF8g+44fy9JmJcARoCXAiBiwXbYRUtlEve15UanbZXbyJKb9heN6UAQcZ1wbegnPA=="}]},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tai-password-strength-1.1.1.tgz_1503590210052_0.4600603498984128"},"directories":{}},"1.1.2":{"name":"tai-password-strength","version":"1.1.2","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/tests-always-included/password-strength","bugs":{"url":"https://github.com/tests-always-included/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/tests-always-included/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"eslint":"^7.21.0","eslint-plugin-jasmine":"^4.1.2","fid-umd":"*","jasmine":"^3.6.4"},"license":"MIT","scripts":{"clean":"rm -rf node_modules package-lock.json","jasmine":"jasmine","lint":"eslint .","test":"jasmine && eslint .","umd":"fid-umd lib/*.js"},"gitHead":"1c9cf18865756751697fd4c23053f9ddd8f1b973","_id":"tai-password-strength@1.1.2","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-jNyf/Icia2Tzsi1pZI0RMneZbV+w3kLUmz0pmrHxAWhDANjh9+gbZE2gdWYM3J0ELyxw4AyWTgNRNiXLx2ggDQ==","shasum":"746e565cdad9b275e1b159b6f9fea2e969034436","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.1.2.tgz","fileCount":21,"unpackedSize":595941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPrh1CRA9TVsSAnZWagAAUXQP/jkT3QA/s7dMTdVu+te3\n+S+F7snscw+oswDlUbOPEGCm32j7S7P2fAk1RT7GdmvR63l0pDuT2MrqPJP6\nR8SgwcyVXetPE/NIvYteMm29SR0OS8zpmnfOMiidxHAFKshLCgPfJ9+ZWaKo\nTS9X/9L8jX/jeh2X/r9mnxn5Zfvu7pfxSFVMEXh7q6qGRzjnU/t0tErC6UCf\nT0K4JqEw1R84aGxp3U5ivZLUH2R2BvGI5Kl2ognNU2IFFvhr7lm3KmhqnDGb\nrTVr0BkIM9oQCOeBBp9IETNsL/Fto3Z2D2ux872lrN8FaXt/i31lfz/qQGT4\nws2ZiKEozWu4t5Xnh2c7/VHLw4rj+j0IJrevfpbH7UDr1dFa4h0ntKbWxh4f\no3dBiHrsZkcGXzOJlyi9A9bsmBz3xebmpNphKD5nPG6Cyu9sc2wkfAl+b9Yu\nMaZzwnGYdbgCWuqARlbLb4GUxzzCKoLKXom1csl8liizrSMk+b18r9w/EYFW\n9H152Dfy2DqrUdvFfNbsiiqjuNSUs+5r5bXj3ZzcVmoVaGjEv4wyVF62aYOC\niwEg8uSkAfi711PsNHx1/rLHvdUJnP8Y6eROthqgrFibboMdwqDM+jfRDSva\nKCJnjVqoYQ+Z/w1ztMOZBLXdcmG4NHNHGiA0nAEEcP3F2+RFDWJfh0zxRYwA\nQmUO\r\n=WwLb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd48pg9cfuql7GwueCNZ6Of3xcgpb0YtWWXozh9frVtAIhAK+m8msYRa/YUWzdtWwmsWZQNJ6mazyatb4SUYKhrX3a"}]},"_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"directories":{},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tai-password-strength_1.1.2_1614723188551_0.025411367243293848"},"_hasShrinkwrap":false},"1.1.3":{"name":"tai-password-strength","version":"1.1.3","description":"Check password strength","author":{"name":"Christopher Tetreault"},"homepage":"https://github.com/tests-always-included/password-strength","bugs":{"url":"https://github.com/tests-always-included/password-strength/issues"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"main":"lib/node.js","repository":{"type":"git","url":"git+https://github.com/tests-always-included/password-strength.git"},"keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"devDependencies":{"eslint":"^7.32.0","eslint-plugin-jasmine":"^4.1.2","fid-umd":"*","jasmine":"^3.9.0"},"license":"MIT","scripts":{"clean":"rm -rf node_modules package-lock.json","jasmine":"jasmine","lint":"eslint .","test":"jasmine && eslint .","umd":"fid-umd lib/*.js"},"gitHead":"c38315e404f2c1f4df8d03596a0e29d6bd918d06","_id":"tai-password-strength@1.1.3","_nodeVersion":"16.7.0","_npmVersion":"7.20.3","dist":{"integrity":"sha512-GZVtM7wEbgp9IZ9CkdGbpnx0MflFDonzehQIPO0tx3KXMq1ImLiLK33N+ziC4rm8BVd7jrq93kBCOP6VJ4DdzA==","shasum":"acb0c09edd982a3eac0659b06faaf0d09389fc63","tarball":"https://registry.npmjs.org/tai-password-strength/-/tai-password-strength-1.1.3.tgz","fileCount":21,"unpackedSize":595954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh28xfCRA9TVsSAnZWagAAZkoP/Rp4hrhdm1uFnxQiTAxU\nNc8G5+r2QCzAJsP37PyI3ZlgXipE/DXAyI6eRyKU5JuTjXylAsnxjuenh7/g\ni6mpZrmDeTMsnqAritBuNN4b92+1K4mNxIVFuF797prjyCVFEJXoYwhfOHI1\nONCkFkU8Myqd+lu0aXk8+daUTNamzQbkPsQ26s/VqRdUtMgccy/xor/w71JT\n279p36ns+d+PBib0Z/Mpttvxt3hMLIpDih5jVpjBnQ1IW9uTuV3xbAvVawC9\nafq2lHB7+uATvZvBQUhv7TeU8LBbNga7eR7d5V5QgiKiIvnN1W2+uUhvoGNQ\n60FPePK8ID1dnff6lScBEJ12OYe/AUEZoVIbf9CysBBg6HcTviIGCK1fhUTb\n7CowkchmnuGMHwp5AKHVyGZqVyqjKcNQrd5pLXY0Qd5biF5Oc/2xjl7hB9O6\nkC0nv1RkTyMayMCaJ0S7im8mhvXwccuBucq5dZPDIgNFoVq7Ozd2rI86PPlr\nc3kuTaQI6O/Gn0MhejHdVWMnPOifYev6/C7uEUgs4jmI6hGjnreV6zEg82mp\nHmyo7BfpoacGlVnI8ST6yDP05fYNgYi5kHIdMXgD0xU7HrcWhgE2ELOMVqOi\nTsHIklTFVebucPp3XchHbaG6l+zDmZeQpkufA8keodv5ZtFZdM2L7urk9Fpl\nqqzn\r\n=gZ6b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYcu7J4NzpP8avJHnX9b8/HaprRO7mNAj96CxdxuyMkQIgEUKbqGkBVo/52LVb4DSQLxJuEhjRDyGmidTLUfsgnfA="}]},"_npmUser":{"name":"fidian","email":"fidian@rumkin.com"},"directories":{},"maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tai-password-strength_1.1.3_1632490246277_0.8575005024860334"},"_hasShrinkwrap":false}},"readme":"Password Strength Tester\n========================\n\nPassword Strength is a library that calculates the relative strength of a password.  This is accomplished by using several techniques.  Primarily this relies on letter trigraphs, which check each set of 3 characters in a given password.  More information on the trigraph calculations [is available](data/README.md).  This also calculates the entropy bits based on Claude Shannon's technique on determining the number of bits required to represent a set of characters and multiplying it by the length of the password.  There is also a check to see if a password is contained in a list of common passwords.\n\nThere is a wonderful [demo page](http://tests-always-included.github.io/password-strength) where you can test out the technology yourself.\n\n[![npm version][npm-badge]][npm-link]\n[![Build Status][travis-badge]][travis-link]\n[![Dependencies][dependencies-badge]][dependencies-link]\n[![Dev Dependencies][devdependencies-badge]][devdependencies-link]\n\n\nUsage\n-----\n\nThe Password Strength library is wrapped with [fid-umd], and is usable in a variety of systems.  When you use the `.check()` method for the password \"abcd1234\", the results may look like what you see below.  Comments are added to explain the fields.\n\n    {\n        charsetSize: 36,  // Explained better below\n        commonPassword: true,  // If true, don't use this password!\n        nistEntropyBits: 18, // NIST 800-63, probably not a good measurement\n        passwordLength: 8,  // Same as string.length\n        shannonEntropyBits: 24,  // Claude Shannon's method\n        strengthCode: 'WEAK',  // Our ranking of the password's strength\n        trigraphEntropyBits: 39.71755017780513,  // Based on trigraphs\n        charsets: {\n            number: true,  // Contains 0-9\n            lower: true,  // Contains a-z\n            upper: false,  // Contains A-Z\n            punctuation: false,  // Contains common sentence punctuation\n            symbol: false,  // Contains mathematical symbols\n            other: ''  // Unicode and uncaught characters\n        }\n    }\n\nThe charset size is the sum of the lengths of the different charsets that the password uses.  The higher this number, the harder it is to brute force attack.  That's precisely why password policies often say \"must contain one lowercase letter, one uppercase letter, one number and a symbol\".\n\nThe strength code is based on the trigraph entropy bits when they are available and will fall back to the Shannon entropy bits.  It's one of five values:  `VERY_WEAK`, `WEAK`, `REASONABLE`, `STRONG`, and `VERY_STRONG`. The NIST scores are based on NIST Special Publication 800-63, but this is considered to not provide an accurate measurement of entropy and is included for completeness and comparison to the other algorithms.\n\nTrigraph entropy bits is discussed more [here](data/README.md).\n\nThe charsets is mostly an object that has boolean values, except the `other` property.  That one is a catch-all string of the letters that were not caught and tallied into another one of the charset lists.  The list of characters in `other` is deduplicated.\n\n\n### Browser\n\nInclude `lib/password-strength.js` in your project.\n\n    <script src=\"path/to/password-strength.js\" />\n\nNext you will want to instantiate the modules and make some AJAX calls to fetch additional data and make the password strength tester more accurate and informative.  This bit of code uses jQuery, but similar code can be written for any framework.\n\n    $(function () {\n        // Create the instance that can be used immediately for strength tests\n        window.passwordStrength = new PasswordStrength();\n\n        // Add additional files that improve the results\n        $.getJSON(\"path/to/data/common-passwords.json\", function (data) {\n            window.passwordStrength.addCommonPasswords(data);\n        });\n        $.getJSON(\"path/to/data/trigraphs.json\", function (data) {\n            window.passwordStrength.addTrigraphMap(data);\n        });\n    });\n\nLater, to calculate the strength of a password you would use something like this:\n\n    if (window.passwordStrength) {\n        strength = window.passwordStrength.check(\"abcd1234\");\n\n        if (strength.strengthCode.indexOf('WEAK') >= 0) {\n            alert(\"Your password is too weak.\");\n        }\n    }\n\n\n### Node.js\n\nFirst run `npm install --save tai-password-strength` and then your code would look a bit like this:\n\n    var taiPasswordStrength = require(\"tai-password-strength\")\n    var strengthTester = new taiPasswordStrength.PasswordStrength();\n    var results = strengthTester.check(\"abcd1234\");\n\n    // Add in extra files for additional checks and better results\n    strengthTester.addCommonPasswords(taiPasswordStrength.commonPasswords);\n    strengthTester.addTrigraphMap(taiPasswordStrength.trigraphs);\n    var betterResults = strengthTester.check(\"abcd1234\");\n\n    if (betterResults.strengthCode.indexOf('WEAK') >= 0) {\n        throw new Error(\"Your password is too weak\");\n    }\n\n\n[dependencies-badge]: https://img.shields.io/david/tests-always-included/password-strength.svg\n[dependencies-link]: https://david-dm.org/tests-always-included/password-strength\n[devdependencies-badge]: https://img.shields.io/david/dev/tests-always-included/password-strength.svg\n[devdependencies-link]: https://david-dm.org/tests-always-included/password-strength#info=devDependencies\n[fid-umd]: https://github.com/fidian/fid-umd\n[npm-badge]: https://img.shields.io/npm/v/tai-password-strength.svg\n[npm-link]: https://npmjs.org/package/tai-password-strength\n[travis-badge]: https://img.shields.io/travis/tests-always-included/password-strength/master.svg\n[travis-link]: http://travis-ci.org/tests-always-included/password-strength\n","maintainers":[{"name":"fidian","email":"fidian@rumkin.com"}],"time":{"modified":"2022-06-27T03:39:44.385Z","created":"2016-03-23T15:03:50.482Z","1.0.0":"2016-03-23T15:03:50.482Z","1.0.1":"2016-03-25T16:46:00.326Z","1.0.2":"2016-04-05T12:36:41.979Z","1.0.3":"2016-04-05T12:43:00.555Z","1.0.4":"2016-05-16T12:29:38.167Z","1.1.0":"2017-06-27T14:17:28.129Z","1.1.1":"2017-08-24T15:56:51.441Z","1.1.2":"2021-03-02T22:13:08.747Z","1.1.3":"2021-09-24T13:30:46.513Z"},"homepage":"https://github.com/tests-always-included/password-strength","keywords":["javascript","password","strength","validation","entropy","shannon","trigraph"],"repository":{"type":"git","url":"git+https://github.com/tests-always-included/password-strength.git"},"contributors":[{"name":"Tyler Akins","email":"fidian@rumkin.com","url":"http://rumkin.com"},{"name":"Christopher Tetreault"}],"author":{"name":"Christopher Tetreault"},"bugs":{"url":"https://github.com/tests-always-included/password-strength/issues"},"license":"MIT","readmeFilename":"README.md","users":{}}