{"_id":"secure-password-utilities","_rev":"14-1aa8978e3de4eb706235843e2bf4a1a6","name":"secure-password-utilities","dist-tags":{"latest":"0.2.1"},"versions":{"0.0.1-beta.1":{"name":"secure-password-utilities","version":"0.0.1-beta.1","description":"Zero-dependency utilities for generating secure passwords and pins","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","character","threshold","strength","safe","node","browser"],"scripts":{"build":"tsc -d","clean":"rm -rf lib","lint":"prettier --check 'src/**/*.ts' 'test/*.ts'","test":"jest --testMatch \"**/test/**/*.test.ts\"","prepublishOnly":"npm run clean && npm run build"},"main":"./lib/index.js","types":"./lib/index.d.ts","author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"@types/jest":"^29.4.0","prettier":"^2.8.4","ts-jest":"^29.0.5","typescript":"^4.9.5"},"gitHead":"1a844772f20b5fb59c4e0c048742cb097ebf2eb0","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.1","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Dbg7hEzDWykf1KAj8o21jJSNtFjGeYHMz9oVw+Bk8gmiEi9BIi/Qu4BagGknnME9ptVaMz61IRAhxfHoKQi/YA==","shasum":"d960f4f9ef3fc288e4ab6515cf387198bef0afe7","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.1.tgz","fileCount":7,"unpackedSize":11959,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBO3qER6oF0sW1SQe3GmdJ0atCFk78I4HddR+PZ9zVwqAiEAqwGwpw58bo1PcpDegXHZ62u1/Taw2xb1zQduxKniAvQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDROFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqxwhAAjwGYmqEST+JOdvy1lZYd8BNfTECiF6r+mFgX7XE/doF6+t2K\r\nSdIdKhOfCgHzjTxTsoC8N6SFWm/vUrGtPYtN/KNicgg5zZvAQUs+d9RciuoA\r\nEN3aGfu0Z0zeTlA2Qh3/fCjMtTTMsPsBT0iWMjsv5EwHdafYkeav/NfXhGDX\r\n4+BApV5SzuK4temLFOkMuM6ypxQVumLDTT2STrnIK2/7M1VwiwoMIlHczWQK\r\nvuYZMu3J8YoER/rHy7121U42iEXXM7//KuBukjuMYXreDKD2SPbl8f8GbNP+\r\nlQdG2uE9SjaI513I0y7Kxmek4qLtkcXnPMszO8NN2TU3131gRvdS/9WFxtLs\r\nESE6ity9PR5yhOy3c4KwNUXb51kLTrq68Pr1odhjLZFSmpba3VNsOO4SOoOl\r\nWJg24xVaigbYLbGt8bB4sgRqGF7qN1s1NcRPCU9K2LKYewCtXL3q4zg1AMly\r\nGHHigICPkoGMzMB42TeNy1RH5V8+5ee0F6MmCYZbNaBSRy1ipM245D6cUeYr\r\nj7ja8+ejFVKFsXDGKvjSFUNCAdwjA7UFg/OuWOXU8Ed+alWAtKvCJ04YMYYu\r\nfgiZnJolcdMbinv3wlXG/bjz1uCFXJcx9dvWLo8o4/8p6Il7ER7o2Z+NtD9R\r\nKP7Ow3U7Z2MKDMMx0FHOafaN7QbAmxLULUE=\r\n=zQqn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.1_1678578565281_0.6189519057431248"},"_hasShrinkwrap":false},"0.0.1-beta.2":{"name":"secure-password-utilities","version":"0.0.1-beta.2","description":"Zero-dependency utilities for generating secure passwords and pins","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","character","threshold","strength","safe","node","browser"],"scripts":{"build":"tsc -d","clean":"rm -rf lib","lint":"prettier --check 'src/**/*.ts' 'test/*.ts'","test":"jest --testMatch \"**/test/**/*.test.ts\"","prepublishOnly":"npm run clean && npm run build"},"main":"./lib/index.js","types":"./lib/index.d.ts","author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"@types/jest":"^29.4.0","prettier":"^2.8.4","ts-jest":"^29.0.5","typescript":"^4.9.5"},"gitHead":"3748fcd9147d176b71554140d4ab9f0f582b9ff9","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.2","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-fRL6Gt4z20LzRMWA/aWn1ekwX39j6ltdKiKDZ0nopRX5eX14b22Q+bWhqI0Kk7tms3IPwTas97iF6R8IgzC2RA==","shasum":"d5137cfee6426c6714b12d5683c5ce8713a4fbc5","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.2.tgz","fileCount":7,"unpackedSize":13602,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHLQr3Y5rzurwsUuw6jijc8shM+q9wMIHIM7XUomwNzWAiEA430LQ+WwXJERldn/CyzlXRm9pFgWWnJxtEJgcwPm/4w="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKdkKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9mA/9H3YdjBHSD/6zscdmn3Gyypv5PITtmG9RTfY8ErAmYXR9ymAG\r\nQ+5wXq4+4BAoi3Ig32ID4KJ/vwufhMQROWFgjX5qJPEVlDTqvuPvXGSKHzbn\r\nLJ9ZQS4dZQ06EL8YgEuKWuWRfjeum+a4N/bAaKI2o0u+7fnEMFxDfweijPCR\r\nQPiAbctE1ObniliqXUQeYCD18WXnNq8PwO/gqFMe0lKeCTWDNzZoTvYQCcMk\r\nKJuRDgtZ80k921Arp34vZI3NY8Wqu0z09eFYmujQKahmgLk4Cv7R+wISk2vV\r\np1HcZVPwaSBJvWyqi8vBd8yyi4qbdlv99dpEdmS3U9sQckohf7D586ErU5+G\r\nB86e1fbG9aHz9Z+R0+uXdWxi7RUM3cglMWGwRQqux6KVS9KaV2LVC7A0lTH8\r\nc4DJe8gnTXbwMWDgz8IfS2hwRrwIUE+HnnhE6TIMdIrbChvZQoUUN0nZBFOy\r\nINdUqDPomXYT3950wlLDnFKDtMN5Z/RluSnG/6qj0IDg/DV5EaJheXD6cm8f\r\nJQJvGrFky9d6nTZYyRB9Y3xGjGT0vMrCT3j7p/VKzmS1abpnrTAxaOeKD4rJ\r\nP2ATN2RsdpdQ377GR8m2RJSU0zodU/MW2xzFoP+9oEYFtTqhz9anXBjQdQsO\r\n1gx1BxMOxUAMKmTq3CNtgbnUUUueGVbsf34=\r\n=wfka\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.2_1680464138495_0.2894745257235276"},"_hasShrinkwrap":false},"0.0.1-beta.3":{"name":"secure-password-utilities","version":"0.0.1-beta.3","description":"Zero-dependency utilities for generating secure passwords and pins","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","character","threshold","strength","safe","node","browser"],"scripts":{"build":"tsc -d","clean":"rm -rf lib","lint":"prettier --check 'src/**/*.ts' 'test/*.ts'","test":"jest --testMatch \"**/test/**/*.test.ts\"","prepublishOnly":"npm run clean && npm run build"},"main":"./lib/index.js","types":"./lib/index.d.ts","author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"@types/jest":"^29.4.0","prettier":"^2.8.4","ts-jest":"^29.0.5","typescript":"^4.9.5"},"gitHead":"942d02c2d8fec92956d151d86974b91ba18d8b92","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.3","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-KrUiZLKDj/tEHiYCqZNAxrQbytckCghDqP6OdgXfzjmfh33j7bZnpdiGmm9b3Xcj/uT+ffpOND1zUVRDSSMPVw==","shasum":"989a0c4591fa16671b43e477e8713e9167f813b2","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.3.tgz","fileCount":7,"unpackedSize":13793,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfszfmsoIG6HwiagnQJhPQ7oLq4Uln6HK8xIDehfVZmAIgTfB9f0/z0Wgjylod0dkqvy4n0hPulkYlG8ZIVw/Dz50="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKeQMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruyA/8CuyXibPYbuA70AnbEmfWtAWiRpzgJf+iuz5OfIX2xdTO0uly\r\nO1KhVo8OsVTyzCsJVumDX498wMw5reP/eJUpnAXFN4/bmkWJ+3XYw2vgE49r\r\nX+nbj9e3NXAeZwuGsbobfFBhlj5gKEDRrQUmN0rGL3ygn7f+8xDhthjUTH5/\r\nvogsuMg+8UZXW6+cH5DL7xtPy/Qh2Sj/YamJH0PMi5weO+5TqSw3EkZ/u172\r\n/OQN3j/9vJi5pEvvF67ybrrB/tb8/q7dGrwQFbRcIi9OreY8Ic2eRk+a+j/0\r\nGNDcPSlnb2n2EvwZn6p/0e66XSYHhFOlTpKFJc6VLKFrW9uwbRZ5fQsg2ZZU\r\noB35JKimAuNdCGgXGq6wBWRTCn2404P3avhxuGwRMahNhe0o2JSpWrWlpF5G\r\nFyXV4CSzzGZDw5uEQCPSkMMAXx+cD+sLUuSR1RVasvKsuC3ZXvrF4sH3Fg01\r\nd7IP0eQXbxinVoloTJAHMGBqhVA30K5jiSUU+yckYuHnupgYlGt2PRXpDdR4\r\npLa0huXO135DBj2u1rJjaM/yksEVN7dWjQyqP8RrNSTbbcyct0cNNbcI3yeU\r\nF2Np00O/c/gipe3jC6OnjvugANbiGHy46T1QYrpK6lUZvw9a0hYKuKNkYlFU\r\n1QMt7hOmUGcfJMYvmEvKxmfyj1h4VObS7Hw=\r\n=jSBC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.3_1680466955889_0.45740976830442914"},"_hasShrinkwrap":false},"0.0.1-beta.4":{"name":"secure-password-utilities","version":"0.0.1-beta.4","description":"Zero-dependency utilities for generating secure passwords and pins","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","character","threshold","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","default":"./lib/index.js"},"./random":{"types":"./lib/random.d.ts","node":{"import":"./lib/random.node.mjs","require":"./lib/random.node.js"},"import":"./lib/random.mjs","require":"./lib/random.js"}},"scripts":{"clean":"rm -rf lib","prebuild":"npm run clean","build":"node build.js","lint":"prettier --check 'src/**/*.ts' 'test/*.js'","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run clean && npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"gitHead":"acfb804ee42ccbe3b930847704c8c7452fba6bf3","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.4","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Tot8nUJ9KVuRZDS3T7Q25zyjTKRLMd4uywj2phfSzg59EmsLiTyvI5GaKpJ1TUkE9ni+befEpXwS96zQF8Lg4A==","shasum":"4da57ffe7e1cac6586fa0e1fdb63e922a119a016","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.4.tgz","fileCount":27,"unpackedSize":62257,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+fjvx7iVII5ixf2NI6EIsZWUAYydzdSHwTt5GZxt9PAIhAI9lJkU0qjU2YOhAIxUh38KOhRvTw1jYJvXNzZ6gT5WY"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM0gFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPyQ/+OXsHrcdZ+MUIeEoCilezFeFCk2RSVxuIOW7xDlHJUCHL34KX\r\nxBO70WlHgan4MPYP7BxZlQXlihR5eqqm/JtfUNy8ttN0oFPJMFtl3ZkOvPwg\r\nyEaUYpUD1mPvX1SlHBleuEsH5+YR7nelWPiml5mb2eSXJFpg3Fa13JIuYnE2\r\nu08TBY2oOwQAkIImewF+AiuDxptFgl8yqa7fnQQdq48az/cW5K8ivKamuGq3\r\n/NfVRDf/Oo46MHn1R4wEnhNI6YOS6YamwduSACdB8uoADtaKxfKyPkrGFAjg\r\nl/m7k/sfUks6Fuxf5iDwxIpB8JZQ8Lfdj2x8OhZV+GOlk7n4nPPCAYYJQ8AJ\r\n4Hcfd9S00VUDhfPvRg0Z6+Kvv/HSNlRMLlsMq8rzi+sRBVZcRKV1cvDQpltk\r\nb+kMVeawT5yiNRfU/oAhJATppWAdzjY17ZEOmRvOwd82QHP2oOkf0Q3o3HIh\r\nSZJDxc6BJlA5XpeFzMwfUEUxaQuQXtNGIefHRALrKQO1pCmYeWsbDYIJ3N8T\r\nRvijg8miT11K5exPs+QOGzsDIXc1ti6HOOa28wVBRotlPRoRwK6kHJMtwBpm\r\ndCko3PFpxl7y0yJM09XO0T0nrkWfgHAwCp2xrSJlXdULOo5WN28l6aoq+xmV\r\nAIC031WToRdhoA22ogPdC22GyoW7wcEiNxM=\r\n=sXgZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.4_1681082372838_0.4398123156709435"},"_hasShrinkwrap":false},"0.0.1-beta.5":{"name":"secure-password-utilities","version":"0.0.1-beta.5","description":"Zero-dependency utilities for generating secure passwords and pins","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","character","threshold","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./random":{"types":"./lib/random.d.ts","node":{"import":"./lib/esm/random.node.js","require":"./lib/random.node.js"},"import":"./lib/esm/random.js","require":"./lib/random.js"}},"scripts":{"clean":"rm lib/*.{js,d.ts,js.map} lib/esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/*.js'","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run clean && npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"gitHead":"cf84c4f5a0ef98e1e13b1f3eeffef385dc9ef126","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.5","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-7DkIV4pWC5LrsGpCKHmOdXwd4W+jhC1F3c0ytfVvgvaby9G1npWnWl8cB97OeieMZ1OV7PPlsMa5C5w4X++klQ==","shasum":"9fc64a87bf05e905d708a382b0c150920f9318fa","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.5.tgz","fileCount":28,"unpackedSize":62483,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0kj9lG2/ExIMdPffKByDA5/8V5VYTHfS6fwYgsqU2agIhAN7SfuSquMfXikluizL4yZOlj+1nKfBvpkArnFNomDpr"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM1gGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqP1g/9GsV7qncLd6RbsoKXotwNkse9evSGIOcvj1gA0diV6gTz3URE\r\niS+Q8mOUVeTH9v5TTDmVX1veVV9gFcQFR0cozuRRL4JnrGSSu5fSMnVxuSnV\r\n+kYhMnESD8B/GsaQqfjZk9bC/8zVcI0wDxRxcobFuTPvuloYSh3IFukFE1tQ\r\nr0+2I4yBI8w19OyTWUShi6ZR2YbveVjmq+JYpoBH2n93ztbKfsACYRLz1SG0\r\na6CUUdWvRzvnYV4bxlFKfpcf8mGpRnYiZRyEqKH7Ff4hpJ6uUxFmntLAA7Ek\r\nKeBTX+ypCH8kVLQvz8kwrpVJcW4WMnqdH9SEAifmjAYhWcrUBNJrdiS0mfep\r\ntGolTuV7fbgtk3rQ38wnFWlrxie2cqPf0dv/ZPQ+x0nBoeZHTHbRqjr0B7lw\r\nm406dLJPeDmDJBYiWx1jQuCmWPsJG3qK3922lFXid135c+zH0UszU4U7cbSI\r\nnnl1UUEmdPTa9YWxsZydErI1uGfL1P+ZD/PO/fd5H3pIjSqvHjLBGnbFg0EP\r\nq7Ig8S0vLOzVyfPV76sWjvxO3wDU+vnhTPKCZ8SplhZYZRKBdmrKxthIxm4B\r\nAhlh4AUKl606GCknbX8z9sbQvYmcTJ8DbzgFbC9CHSjyrsUoD4WJV1mt0LTF\r\nbBJCdpOyuKNjlUyklXKePRn3pxEesMX3T7A=\r\n=OUx6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.5_1681086470610_0.7856431155999937"},"_hasShrinkwrap":false},"0.0.1-beta.6":{"name":"secure-password-utilities","version":"0.0.1-beta.6","description":"Zero-dependency utilities for generating secure passwords and pins","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","character","threshold","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./crypto":{"types":"./lib/crypto.d.ts","import":"./lib/esm/crypto.js","default":"./lib/crypto.js"},"./random":{"types":"./lib/random.d.ts","node":{"import":"./lib/esm/random.node.js","require":"./lib/random.node.js"},"import":"./lib/esm/random.js","require":"./lib/random.js"}},"scripts":{"clean":"rm lib/*.{js,d.ts,js.map} lib/esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/*.js'","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run clean && npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"gitHead":"c488812bda48e7e3caa1fd000348980f938f2d4f","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.6","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-qskmaDhnaFzDjSbyNjtAyGLaenBb7Vz/UAcHcPISzalzTX7dwyEQYgeI5VUH43+AZctRK4qreO2eF4IptKIc8g==","shasum":"f6e3c21defcbb5a6f34f774c639c4989dd59daad","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.6.tgz","fileCount":28,"unpackedSize":62692,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWcjHzI7sfEZnbwRuoGhYOQhJaigGetYSFxyaAxf5fCAiEAg8eUWZBEek/r3pQSGh5VEFZte3l3yRnJe47pFmAvkrM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM1ndACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZbw//codUVrjg9wSKADDhnjjputWH1tdc/RNYLS/BI9f718ooa34t\r\ngtZFJu1mKx+PS1CXbjBJm40SP4yXK6EWelo/LlHQSM24BVBufGegNskJiUc9\r\n1frcGH2MjAOKTOdtGzGJBC3Mh1YwA8uFcu32dNEHkklaDLjlUeTA8sR+aOiA\r\n7ESlsih8W4qTA5Zy1syZpHwnVOmmBFVesdoUoWRsgXfuL0XZtsfpW2VwNciX\r\nvfWEs27weJa+L+vucjVGFflnLjwv3TxdIFTAo/fqV4cMlpyp29cBkzvh4rOZ\r\nIBR0fV44uyy6DTi7IUHG3NXqqOTSjnDVFWB8mei5EsmkVA+paSvY04sjw74m\r\nVuMnmSx6l4YqpIOqcqMeDi3jYte7uoRnqcdbpEiL04gwrHB/KrPqp0GfJGk6\r\nYErjwqhbg0F9eVCgkQTQnn73lYteJN/FsiHo5KmmLd31NeFtxQ9bdW2UZBu/\r\n3A0L9C83rnjCjftVTezN6zIQ/RlmYIwMXFjwnzy33drvAGDXqW2LWbAXclHC\r\nKz4Bpr9argwiA8629v8bUjIlmFx27pJzfDBfhXPYwx0PZkIyInRRojodnNjV\r\n5epC0XXOl/fGvIflAFHIdBMGEVgjDKZchr99CV8wS9P2Ibyaxsg+PcSXPZwS\r\nyoPABfPItsykCRJQ/cytwEfkLSfHYTrcoAU=\r\n=VZfI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.6_1681086941470_0.8570996112985176"},"_hasShrinkwrap":false},"0.0.1-beta.7":{"name":"secure-password-utilities","version":"0.0.1-beta.7","description":"Secure, zero-dependency utilities for generating passwords, pins, and more","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./crypto":{"types":"./lib/crypto.d.ts","import":"./lib/esm/crypto.js","default":"./lib/crypto.js"},"./random":{"types":"./lib/random.d.ts","node":{"import":"./lib/esm/random.node.js","require":"./lib/random.node.js"},"import":"./lib/esm/random.js","require":"./lib/random.js"}},"scripts":{"clean":"rm lib/*.{js,d.ts,js.map} lib/esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/*.js'","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run clean && npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"gitHead":"c4e6fc8d50917a8904750263cba801c4afbf41c9","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.7","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-fgG4tEmT6VafBsFTpIavROpXWqNWejb6tExAPOfyKmCoHtCN7wpkWIN4e3gxhTq6KzHfGqjfRBFKKQQ6tg6QpA==","shasum":"b99680b9cea6f91e64d497c187a5a2d64f94b631","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.7.tgz","fileCount":28,"unpackedSize":62828,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7vjAiQkNt6VYNY4YxxquJHQEY74+6L4dUFq2rl0H2aAiEAh4ZimzeG+p4hyyIA/gY94eN6xlxUOJl6xV8TbggeRRY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM2M6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEUA/+ImjwsWYkz26QXBUMIP3ClOFuzwWt+ZqshvVJeAt6QwXcWZwR\r\nzeAi64Cz3+eVT/40t2ybjwrSHsaz13bFoovCx1bXr7ng0o8feAqHeqd78PBd\r\nZVMtUV1KyWHQo4R1fqwcdcNkZLpIqGSBrC+zQN0l1RHBRE3Uiq4E6yQLr8dg\r\nO/88p1It1iX4zDWZ4a1ePazYSEIvF3FzwxzOsZL/HqrUWzKCZK3+V19hU+Pw\r\nAuf93opxbKRQSbgNESOmwzwN2xiur5JdmqvNJ0+lQGVV5UIxS9zU9yxBJ88M\r\ntZ56NTMSyrk32CkHTXLnyinNg4ohRw4VMbo53mmkV0WcVmz+lNAOb7QgXHaD\r\nQ47E5ZFAsGjozhpwgeA9bHt6KBPSoGpto/L5X6q4qfbzYmaX/Ag/OIGPKKBe\r\nfL4nQGzmoZfdth6ZU5sFM8Kisxpg61yLpvtAc6KDsog+Ehxo2JnlZ+NvQ5KM\r\n5xBRbHolDcmTeSJH6+GPjqDQTYzamTEMOzlMtrSC9Q7oF7eE3btOoxX3NQqP\r\ny35pY89iiZM3sM8eHeB9vQfVZdZ20no3o5mEpgfiul/fBD4vgLrrKoAEES0x\r\noF7nHE+QsCLdUnQ6qBSdX/GQqPKf00NwtHckkfY8HGU4DaZZXD7dgLoNzBBF\r\ni1hvbrfvxR6R2+ze+cflw9LUTUKP1IM/ytc=\r\n=gDlj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.7_1681089338682_0.37726457219489595"},"_hasShrinkwrap":false},"0.0.1-beta.8":{"name":"secure-password-utilities","version":"0.0.1-beta.8","description":"Secure, zero-dependency utilities for generating passwords, pins, and more","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","strength","safe","node","browser"],"browser":{"node:crypto":false},"types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./crypto":{"types":"./lib/crypto.d.ts","import":"./lib/esm/crypto.js","default":"./lib/crypto.js"},"./random":{"types":"./lib/random.d.ts","node":{"import":"./lib/esm/random.node.js","require":"./lib/random.node.js"},"import":"./lib/esm/random.js","require":"./lib/random.js"}},"scripts":{"clean":"rm lib/*.{js,d.ts,js.map} lib/esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/*.js'","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run clean && npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"gitHead":"8b68918cb1378d0cdc97c6e3aa2d465f62967847","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.8","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-FRx895lliWXuFGlTiwXM3L1gOyQRRg2lYCsJknJDlJcoKgrA9CbGBdM5Pq5hzZx2OXw7HEvBfO2LAbdAX7JZ5g==","shasum":"2f7fbb02dc20a2cb20586ea52568c87c560fc1ef","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.8.tgz","fileCount":28,"unpackedSize":62859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFy8vISIU20boRPgcmdzfx6V/jzVSU4oeV1LNwd9KFBdAiEA/udici2NqxhjSAvzA4xFo6BKXgSTz2H9JVeJYrRxG00="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNGwlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFlg//fP6VgBCUp0Fk5+j92fhswN/PdKPuLpasGSx0xfIgjoOLL6Tf\r\nyLhqT1WHURjhDKWgGAJHjHks5mf2KW/2qRy88YSSSphp3xxOTYjh4ZeRDI60\r\nSZ6lk4L9qgRXzX6OQvEadrqHpJ/JhGk2q14NxAp5Q0jN7GQaGttsun+6PSBF\r\n/mkh1DWboNEQej9RgHqdaFv/JEtGwej88hneNGx9hI1j71CI/8UacSH9l+c5\r\nDtTAFABzZRNd8BYbuVG9My5+uiH+PgqNnyBvnSSuOU421juHlFKtWjoQv8o9\r\ngCFgJNIgmNY2mQmvS6VhkCXS41ccTsw9r50qw0+zRi4iZWs8Ve8WKtKRZo7T\r\nHVezowvL7R1uS1Xgq0U7WSyRBcHw4+SenpGFIxjTalLdqn8svYE3q/3obqGc\r\nmQCWVEJlwVgRexlo+nGtetj7fnTsvuQKEdnvzIa+1U6ZXpN2NckB2utJhTnq\r\nsXZOVIURjnpo7LXE5qLD4gcPqKaSso8jR5gEFto/YyImC4npAVzwIaDR4Vvu\r\neLsNo/NtVeEC2pe7J3RLrbCYxF8P3SjaROnW+s6JuN/gXNZx2U9S+lDYhCqo\r\nP1bpc/I0dd87SMGeM9OLLDdNUq1Jd3OtxFHNfnLS2kgcFJFYM6iQ5lKkVTf1\r\nVkFAl7mIH8x8YLgg4u8fQqkczIOEDBXB/ow=\r\n=kSIG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.8_1681157157022_0.48979776919601736"},"_hasShrinkwrap":false},"0.0.1-beta.9":{"name":"secure-password-utilities","version":"0.0.1-beta.9","description":"Secure, zero-dependency utilities for generating passwords, pins, and more","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./crypto":{"types":"./crypto.d.ts","import":"./esm/crypto.js","default":"./crypto.js"},"./random":{"types":"./random.d.ts","node":{"import":"./esm/random.node.js","require":"./random.node.js"},"import":"./esm/random.js","require":"./random.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"bf0528c4cb00e5090bfb34f87f7c24a23651a9cf","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.9","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-gChAEvZIKtRlE7FHSi9K5MT1SCTCIsySYcRjJMV4CrqMXIjbzVwshXn5VQDCI461M5rCfmL7hJ5qH/TX5xNJig==","shasum":"b887b88b42a13594956b2c16fddf3627b1b362c6","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.9.tgz","fileCount":28,"unpackedSize":62779,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEkL5Yah3AAQCg0lKLa9mmBdNLXwnoL8gtY3rzO/PWtzAiB3jbW+STHkdII5Fx7jyjhKEBW2HugN3oKcdrwD7ue7uA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNG70ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMYQ/+JztekJq0gbc5z1ON0QAap1HU2GE9KHWeqCVi7hZGISbEEl+g\r\ncg3VTc7LudWNDTg8vzC24CCSVH2N/mk7tqQIH0L5pLgoozV9QomMaWZ8beXc\r\nNDdjykfkLT738JFPairaaH5TQgC8sGP60/qD+AVZ7lEF+LDWo93eVvhOUdQI\r\nmDGizHM7nFQrFVzlBhrHqcJqFebh27kddDvl1tvmfejZOKw6MtMXEc8YrWNN\r\nXunCd7uaUEZZsxr9TNhqWiWOP/QjJlnrurKP8s+jQDehQwogsfuqvq+NjbwO\r\ndmKbr8CN1GEi1jcGlmkLRq7ZcvRlTzjiZifHUMYNM9BjhouQtoKds+2wuuOb\r\nWax+YK2JczEH789VF8LkDPolFg63kNqD/O/V85ijzHwpV/RSo3+bRNJFVf0d\r\nOYq8JbYa25IJ2NkypyC6ah+REzguO9C3zWqaIqr6Pw/QviiDZCAsKmAAR+vI\r\najiG8u278VUv4eXjCx0yjMwLIw1N+PsvX9iLHKfRKWGpmJuxyUE8MIVtc+rz\r\niHcbQJF4nZDFY9fdijV8H5v0vF5l9qu2yHnAtgnHDuyP4sq5/yTxdOEuzQ2Z\r\ni8s2oY08wgJl4FBlkdWojSeWQqIE9lN+MVBwtXBt6r8BC720KgwZjTfeHeyV\r\nNGUhXafSJp3XUzXyk9wmQOsuzUXJ92/4a0Q=\r\n=t/7P\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.9_1681157876731_0.9886419913704942"},"_hasShrinkwrap":false},"0.0.1-beta.10":{"name":"secure-password-utilities","version":"0.0.1-beta.10","description":"Secure, zero-dependency utilities for generating passwords, pins, and more","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./crypto":{"types":"./crypto.d.ts","import":"./esm/crypto.js","default":"./crypto.js"},"./random":{"types":"./random.d.ts","node":{"import":"./esm/random.node.js","require":"./random.node.js"},"import":"./esm/random.js","require":"./random.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","pretest":"npm run build","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"c5d85d17df4836376e4306aa6fd5533b9636a258","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.10","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-r10o8pRP2BxBUPFmLFPym9bB/yHwAstvEXVRqPcUIPq6Yd11arRTRo9TejRxvKSNyfoYNPKb7Uv4LLlvFQsd8Q==","shasum":"cea433374da1d65dc71361dc5b7a1c95ea6def8d","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.10.tgz","fileCount":28,"unpackedSize":69136,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkzQ/Ut7LeNVrDqOjPlPUnpMdA/Wn+HRijc9umflxC2QIhAN5zC48yAb30nXefEnw1GKzSVMQ7yIFPK4VVroORVEt9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTaeRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPMg/+L06tF5wucZSLW7zs5xPDE5JqB1B0n0n59z5jk/15MgH7+j10\r\nOIhpvJwblVClh1h4ZTVNpzjCwI1Yc+T7ua04r0Sld2UxtcQ9nKUV/8bV0bYZ\r\nk7srGSGYoNwIQT75G6N1CpDYmHp28et3W/g5GTdycYcxPaWzQVuvwjuORFeV\r\naiSkVLkoDPaufhd4nKS0icBu1hVKWReCIjEILVNywUmGykKCIdiBIFuxAe0O\r\n+p5C6aadR15pSt7v6S0EF03zLTWTqkydytS1yftEpNM9TtziP/KYF463acra\r\np3jI5oirJgPK9hE7uLxB/QXjxfJBpHMLWlR1+CfrdMhjBtd4fACQ3Hszp2h2\r\nHZ7QDXh49rzPrJkFIV+IvaWHtEPCqP7Bd1ebGDYlJtvRqOpYsP8vrmyyeNUU\r\njxdT5XTZRv5+++lzM2rchxBv9aQzpws7dqMVQsE3XzW6TXyPz6Vs/pB9lYch\r\npxxZ2gcaVwrmddGTTWSzI2+xq8d45J2N9BUUrE8WW9jZwoWIAQB9W0AyId7D\r\nMubS1W5v3P0tU7ZEfoIqAlO4zBhbJ90dDepThNqxSBLzsJdLqEV/zbEQ6sXb\r\nqaTFu0i/YgfeMUYowGGxw2gBoe74Q3e/Wa3Gw4QSRTYO6xCa1HSe3mWYBbxt\r\nG+H6p4VEUijQH1x8Bw754c03GC0fmGzH1WU=\r\n=xO1B\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.10_1682810769567_0.5918348457835962"},"_hasShrinkwrap":false},"0.0.1-beta.11":{"name":"secure-password-utilities","version":"0.0.1-beta.11","description":"Secure, zero-dependency utilities for generating passwords, pins, and more","keywords":["password","pin","secure","symbols","alphanumeric","numeric","uppercase","lowercase","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./constants":{"types":"./constants.d.ts","import":"./esm/constants.js","default":"./constants.js"},"./csprng":{"types":"./csprng.d.ts","node":{"import":"./esm/csprng.node.js","require":"./csprng.node.js"},"import":"./esm/csprng.js","require":"./csprng.js"},"./random":{"types":"./random.d.ts","import":"./esm/random.js","default":"./random.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","pretest":"npm run build","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"ee74860a795085f749e574981ca8fcc29462b175","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.0.1-beta.11","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Lm8mDR/lz372MXnICBqv+EuY1ozrgYANLYTYIsTjZQLdgZFWkInJ2WRy2DZERZ/yW5XmeOWWBoMCSpJ43Mpp+Q==","shasum":"a199c0aa536847ff278fec52a3f8f4f48dd27e34","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.0.1-beta.11.tgz","fileCount":34,"unpackedSize":73107,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB9RIACMC37O13HrCqDfr2pTFhVOLnIqxd7Z2E8fWDg4AiEAsDjtOX4Wl8EhAMXRXgemy+eQjfKUtCJfTZfPBE3rXvc="}]},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.0.1-beta.11_1684373109518_0.4844358076880768"},"_hasShrinkwrap":false},"0.1.0":{"name":"secure-password-utilities","version":"0.1.0","description":"Secure, zero-dependency utilities for generating passwords, pins, and more","keywords":["password","pin","random","passcode","secure","symbols","alphanumeric","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./constants":{"types":"./constants.d.ts","import":"./esm/constants.js","default":"./constants.js"},"./csprng":{"types":"./csprng.d.ts","node":{"import":"./esm/csprng.node.js","require":"./csprng.node.js"},"import":"./esm/csprng.js","require":"./csprng.js"},"./random":{"types":"./random.d.ts","import":"./esm/random.js","default":"./random.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","pretest":"npm run build","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"f7db8899e9788d91923dc94b2b97f77fc33eb93b","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.1.0","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-iNulLaqLlouln3oTXv19z95Ztj9n0PJVjDKD03HfQh7b+wWy3y9sUMvtGfuzal/xGsuuokQjM4S+c8qqRlrVEA==","shasum":"351c7ffdf2a671536cd7e62f9154d800454cbab6","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.1.0.tgz","fileCount":34,"unpackedSize":73080,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXs32hxVsH+0LS4S+HO7rm42K78S1U+TQ9XPvq2AkjRwIhAP05bASpEpk+ldTrQaj6QwpVa+C1h1KJFBB+DTT8lYud"}]},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.1.0_1684450640725_0.1166677270713885"},"_hasShrinkwrap":false},"0.2.0":{"name":"secure-password-utilities","version":"0.2.0","description":"Secure, zero-dependency utilities for generating passwords, passphrases, pins, and more","keywords":["password","pin","random","passcode","secure","symbols","alphanumeric","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./constants":{"types":"./constants.d.ts","import":"./esm/constants.js","default":"./constants.js"},"./csprng":{"types":"./csprng.d.ts","node":{"import":"./esm/csprng.node.js","require":"./csprng.node.js"},"import":"./esm/csprng.js","require":"./csprng.js"},"./random":{"types":"./random.d.ts","import":"./esm/random.js","default":"./random.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","pretest":"npm run build","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"604f7658e6d9220161ae782316cd0c4bf3e6c1cd","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.2.0","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-TywqMiYWZy+DbXKcvMzObc3ndw8qAE3OxV414sR9slaj3681YPYzUhhi+HUYHqKj6eg48+XNZgGOoGg9/Yc+PA==","shasum":"a55a933611a91c2878af6d25b94bb84b71bc6245","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.2.0.tgz","fileCount":40,"unpackedSize":585309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHzCli/bhZSEjEjw091B/hJj++ogp7gFQaRiDPx8VXOAiEAtZCTj9RcPfYg13iB9sUA541vyaRSTuPW2+vjQ3ZbdOk="}]},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.2.0_1685823849141_0.03604059481684385"},"_hasShrinkwrap":false},"0.2.1-beta.1":{"name":"secure-password-utilities","version":"0.2.1-beta.1","description":"Secure, zero-dependency utilities for generating passwords, passphrases, pins, and more","keywords":["password","pin","random","passcode","secure","symbols","alphanumeric","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./constants":{"types":"./constants.d.ts","import":"./esm/constants.js","default":"./constants.js"},"./csprng":{"types":"./csprng.d.ts","node":{"import":"./esm/csprng.node.js","require":"./csprng.node.js"},"import":"./esm/csprng.js","require":"./csprng.js"},"./random":{"types":"./random.d.ts","import":"./esm/random.js","default":"./random.js"},"./wordlists":{"types":"./wordlists.d.ts","import":"./esm/wordlists.js","default":"./wordlists.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","pretest":"npm run build","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"5236aca545184bfa4e1d695a1e9a507a2ab12949","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.2.1-beta.1","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-7Y7Xhzz2IAvI4fB9a+to5NF8bCDaleQpxRECg9tscJWcKtjGjP6ZgRmvJmXdaTnhLP5T7bjajEhnoQXF1ZvvMw==","shasum":"ce20627a4ecb266e7bae05de9c711d29aeebc95c","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.2.1-beta.1.tgz","fileCount":40,"unpackedSize":585451,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0XfGGrqJ17ZELgbZEsF2G0qFZB6T9skekb8d48A+p9AIhAINwEFfbaabnRDWXcKQnSM+Tr2lH0BcgBLoR4Iz/rlCv"}]},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.2.1-beta.1_1685824382960_0.6553176180507678"},"_hasShrinkwrap":false},"0.2.1":{"name":"secure-password-utilities","version":"0.2.1","description":"Secure, zero-dependency utilities for generating passwords, passphrases, pins, and more","keywords":["password","pin","random","passcode","secure","symbols","alphanumeric","strength","safe","node","browser"],"browser":{"node:crypto":false},"exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./constants":{"types":"./constants.d.ts","import":"./esm/constants.js","default":"./constants.js"},"./csprng":{"types":"./csprng.d.ts","node":{"import":"./esm/csprng.node.js","require":"./csprng.node.js"},"import":"./esm/csprng.js","require":"./csprng.js"},"./random":{"types":"./random.d.ts","import":"./esm/random.js","default":"./random.js"},"./wordlists":{"types":"./wordlists.d.ts","import":"./esm/wordlists.js","default":"./wordlists.js"}},"scripts":{"clean":"rm *.{js,d.ts,js.map} esm/*.{js,d.ts,js.map} 2> /dev/null; echo clean","prebuild":"npm run clean","build":"tsc && tsc -p tsconfig.esm.json","lint":"prettier --check 'src/**/*.ts' 'test/**/*.js'","pretest":"npm run build","test":"jest --testMatch \"**/test/**/*.test.js\"","prepublishOnly":"npm run build"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"license":"MIT","devDependencies":{"jest":"^29.5.0","prettier":"^2.8.4","typescript":"^4.9.5"},"types":"./index.d.ts","gitHead":"d7ba62e8f9b7485e64596c9a3fb428b7d07f711a","bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","_id":"secure-password-utilities@0.2.1","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-znUg8ae3cpuAaogiFBhP82gD2daVkSz4Qv/L7OWjB7wWvfbCdeqqQuJkm2/IvhKQPOV0T739YPR6rb7vs0uWaw==","shasum":"14a0d0c17c26ace573f5e5383df4cc2b51c27479","tarball":"https://registry.npmjs.org/secure-password-utilities/-/secure-password-utilities-0.2.1.tgz","fileCount":40,"unpackedSize":585444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHm0eh8P6rcDdU2etl0aR+PQCL4WfbfPJ7KRliaS9ByNAiEAhsRshcGp+2e75LSo4ck2XhszfHOuLy1NTEDRyWU6r60="}]},"_npmUser":{"name":"benjreinhart","email":"benjreinhart@gmail.com"},"directories":{},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/secure-password-utilities_0.2.1_1685824545727_0.9966428109814671"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-11T23:49:25.280Z","0.0.1-beta.1":"2023-03-11T23:49:25.459Z","modified":"2023-06-03T20:35:46.046Z","0.0.1-beta.2":"2023-04-02T19:35:38.608Z","0.0.1-beta.3":"2023-04-02T20:22:36.049Z","0.0.1-beta.4":"2023-04-09T23:19:33.024Z","0.0.1-beta.5":"2023-04-10T00:27:50.833Z","0.0.1-beta.6":"2023-04-10T00:35:41.673Z","0.0.1-beta.7":"2023-04-10T01:15:38.847Z","0.0.1-beta.8":"2023-04-10T20:05:57.260Z","0.0.1-beta.9":"2023-04-10T20:17:56.922Z","0.0.1-beta.10":"2023-04-29T23:26:09.727Z","0.0.1-beta.11":"2023-05-18T01:25:09.770Z","0.1.0":"2023-05-18T22:57:20.902Z","0.2.0":"2023-06-03T20:24:09.516Z","0.2.1-beta.1":"2023-06-03T20:33:03.147Z","0.2.1":"2023-06-03T20:35:45.946Z"},"maintainers":[{"name":"benjreinhart","email":"benjreinhart@gmail.com"}],"description":"Secure, zero-dependency utilities for generating passwords, passphrases, pins, and more","homepage":"https://github.com/benjreinhart/secure-password-utilities#readme","keywords":["password","pin","random","passcode","secure","symbols","alphanumeric","strength","safe","node","browser"],"repository":{"type":"git","url":"git+https://github.com/benjreinhart/secure-password-utilities.git"},"author":{"name":"Ben Reinhart","url":"https://benreinhart.com"},"bugs":{"url":"https://github.com/benjreinhart/secure-password-utilities/issues"},"license":"MIT","readme":"# secure-password-utilities ![Github CI](https://github.com/benjreinhart/secure-password-utilities/workflows/Github%20CI/badge.svg)\n\nSecure, zero-dependency utilities for generating passwords, passphrases, pins, and more.\n\n* 0️⃣ Zero dependencies\n* 💯 Works in browsers (using _webcrypto_) and node 12.x+ (using _node:crypto_)\n* ✅ Supports both CJS and ESM formats\n* 🪶 Lightweight package, e.g., importing `generatePin` is less than a kilobyte gzipped\n\n## Usage\n\n```\nnpm install secure-password-utilities\n```\n\nBasic usage:\n\n```ts\nimport {generatePassword, generatePin} from 'secure-password-utilities';\n\n// Defaults include all uppercase/lowercase characters, digits, and symbols.\nconst password = generatePassword(12);\nconsole.log(password); // l[Nz8UfU.o4g\n\nconst pin = generatePin(6);\nconsole.log(pin); // 036919\n```\n\n## API\n\n- [secure-password-utilities](#secure-password-utilities)\n  - [generatePassword](#generatepassword)\n  - [generatePassphrase](#generatepassphrase)\n  - [generatePin](#generatepin)\n  - [generateCharacters](#generatecharacters)\n- [secure-password-utilities/constants](#secure-password-utilitiesconstants)\n  - [DIGIT_CHARSET](#digit_charset)\n  - [LOWERCASE_CHARSET](#lowercase_charset)\n  - [UPPERCASE_CHARSET](#uppercase_charset)\n  - [SYMBOL_CHARSET](#symbol_charset)\n- [secure-password-utilities/csprng](#secure-password-utilitiescsprng)\n  - [getRandomBytes](#getrandombytes)\n- [secure-password-utilities/random](#secure-password-utilitiesrandom)\n  - [getRandomNumbersInRange](#getrandomnumbersinrange)\n  - [getRandomValues](#getrandomvalues)\n  - [randomizeCharacters](#randomizecharacters)\n- [secure-password-utilities/wordlists](#secure-password-utilitieswordlists)\n  - [DEFAULT_WORDLIST](#default_wordlist)\n  - [EFF_LONG_WORDLIST](#eff_long_wordlist)\n\n### secure-password-utilities\n\n```ts\nimport {generatePassword, generatePassphrase, generatePin, generateCharacters} from 'secure-password-utilities'\n```\n\n#### generatePassword\n\n```ts\nfunction generatePassword(length: number, options?: PasswordOptionsType): string\n```\n\nGenerates a random password.\n\n`PasswordOptionsType` is defined as:\n\n```ts\ntype PasswordOptionType =\n  // `true` means include [character type], `false` means exclude [character type]\n  | boolean\n  // <number> means include exactly <number> [character type]s\n  | number\n  // { min: <number> } means include at least <number> [character type]s\n  | { min: number };\n\nexport type PasswordOptionsType = {\n  digits?: PasswordOptionType;\n  symbols?: PasswordOptionType;\n  lowercase?: PasswordOptionType;\n  uppercase?: PasswordOptionType;\n  charset?: {\n    digits?: string;\n    symbols?: string;\n    lowercase?: string;\n    uppercase?: string;\n  };\n};\n```\n\nExamples:\n\n```ts\n// Contains only letters (upper and lowercase) and digits.\nconst alphanumericPassword = generatePassword(10, { symbols: false });\nconsole.log(alphanumericPassword); // 49Faqzd8jx\n\nconst password = generatePassword(12, {\n  symbols: 2,               // Resulting password must contain exactly two symbols.\n  uppercase: { min: 1 },    // Resulting password must contain a minimum of 1 upperase character.\n});\nconsole.log(password); // b1yT6$jO`kvf\n\nconst uppercasePassword = generatePassword(10, {\n  digits: false,            // Resulting password must NOT contain any digits.\n  symbols: false,           // Resulting password must NOT contain any symbols.\n  lowercase: false,         // Resulting password must NOT contain any lowercase characters.\n});\nconsole.log(uppercasePassword); // IHDPPZRNPS\n```\n\nYou can override the character set used for each option using the `charset` option, e.g.:\n\n```ts\n// Ensure exactly three symbols are present in the resulting\n// password using the following values for 'symbols':\n//\n//     ! @ # $ %\n//\nconst password = generatePassword(12, {\n  symbols: 3,\n  charset: { symbols: '!@#$%' },\n});\nconsole.log(password); // A@D#tkG!ymFE\n\n// Generate a 12-character password with at least 3 digits and no symbols.\n// For the digits, only use even digits, i.e., 0, 2, 4, 6, 8.\nconst evenDigitPassword = generatePassword(12, {\n  digits: { min: 3 },\n  symbols: false,\n  charset: { digits: '02468' }\n});\nconsole.log(evenDigitPassword); // e6V8zy0kfTAN\n```\n\n#### generatePassphrase\n\n```ts\nfunction generatePassphrase(length: number, wordlist: readonly string[], sep?: string): string\n```\n\nGenerate a memorable passphrase comprised of words chosen randomly from the given wordlist.\n\nThere are wordlists available in the [wordlist module](#secure-password-utilitieswordlists), or you can provide your own.\n\n```ts\nimport {DEFAULT_WORDLIST} from 'secure-password-utilities/wordlists';\n\ngeneratePassphrase(6, DEFAULT_WORDLIST); // canopener-uncanny-hatchet-murky-agony-traitor\ngeneratePassphrase(6, DEFAULT_WORDLIST); // backpack-craftwork-sweat-postcard-imaging-litter\n```\n\nThe word separator defaults to a dash (`-`), but you can customize this behavior using the third argument.\n\n```ts\ngeneratePassphrase(6, DEFAULT_WORDLIST, '_'); // goldfish_scorpion_antiviral_pursuit_demanding_motto\n```\n\n#### generatePin\n\n```ts\nfunction generatePin(length: number): string\n```\n\nGenerate a random digit pin.\n\n```ts\ngeneratePin(6); // 036919\ngeneratePin(8); // 45958396\n```\n\n#### generateCharacters\n\n```ts\nfunction generateCharacters(length: number, charset: string): string\n```\n\nGenerate a string of `length` characters chosen randomly from the given `charset`.\n\n```ts\ngenerateCharacters(4, '$%^&');                          // &$&^\ngenerateCharacters(6, '0123456789');                    // 947682\ngenerateCharacters(6, 'abcdefghijklmnopqrstuvwxyz');    // ihdrnn\n```\n\n### secure-password-utilities/constants\n\n```ts\nimport {DIGIT_CHARSET, LOWERCASE_CHARSET, UPPERCASE_CHARSET, SYMBOL_CHARSET} from 'secure-password-utilities/constants'\n```\n\n#### DIGIT_CHARSET\n\n```ts\nconst DIGIT_CHARSET = \"0123456789\";\n```\n\n#### LOWERCASE_CHARSET\n\n```ts\nconst LOWERCASE_CHARSET = \"abcdefghijklmnopqrstuvwxyz\";\n```\n\n#### UPPERCASE_CHARSET\n\n```ts\nconst UPPERCASE_CHARSET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n```\n\n#### SYMBOL_CHARSET\n\n```ts\n// OWASP password special characters except space and backslash.\n//\n//     See https://owasp.org/www-community/password-special-characters\n//\nconst SYMBOL_CHARSET = \"!\\\"#$%&'()*+,-./:;<=>?@[]{}^_`|~\";\n```\n\n### secure-password-utilities/csprng\n\n```ts\nimport {getRandomBytes} from 'secure-password-utilities/csprng'\n```\n\n#### getRandomBytes\n\n```ts\nfunction getRandomBytes(numBytes: number): Uint8Array;\n```\n\nGenerates random bytes. This is a wrapper around the platform's native CSPRNG. In node, this will be `randomBytes` from the standard library. In the browser, this will be `crypto.getRandomValues`.\n\n### secure-password-utilities/random\n\n```ts\nimport {getRandomNumbersInRange, getRandomValues, randomizeCharacters} from 'secure-password-utilities/random'\n```\n\n#### getRandomNumbersInRange\n\n```ts\nfunction getRandomNumbersInRange(length: number, start: number, end: number): number[]\n```\n\nGet a list of random numbers where each number is greater than or equal to `start` and less than `end`.\n\nThe `end` of the range must be less than or equal to 2^16.\n\n```ts\ngetRandomNumbersInRange(6, 0, 10) // [8, 2, 1, 3, 5, 0]\ngetRandomNumbersInRange(6, 10, 20); // [ 18, 10, 13, 12, 12, 19 ]\ngetRandomNumbersInRange(6, 0, 1000); // [111, 752, 41, 420, 360, 630]\n```\n\n#### getRandomValues\n\n*Note: This is deprecated, use `getRandomNumbersInRange` instead.*\n\n```ts\nfunction getRandomValues(numValues: number, rangeMax?: number): Uint8Array\n```\n\nGet random values between 0 and `rangeMax` (at most, 256 exclusive) from a CSPRNG.\n\nThis is a helper function to safely filter random byte values into a desired range. \"safely\" here meaning careful use of the modulo operator to avoid modulo bias.\n\n#### randomizeCharacters\n\n```ts\nfunction randomizeCharacters(characters: string): string\n```\n\nRandomize the ordering of the characters in the given string.\n\n```ts\nrandomizeCharacters('randomize me');     // e znmaedimro\nrandomizeCharacters('randomize me');     // arndimz moee\nrandomizeCharacters('randomize me');     // ai emdonmrze\n```\n\n### secure-password-utilities/wordlists\n\n```ts\nimport {DEFAULT_WORDLIST, EFF_LONG_WORDLIST} from 'secure-password-utilities/wordlists'\n```\n\n#### DEFAULT_WORDLIST\n\n```ts\nconst DEFAULT_WORDLIST = Object.freeze([/* EFF long wordlist minus a few entries (see below) */]);\n```\n\nThis is the \"default\" wordlist for use with this library. It is the same as the EFF long wordlist but with the following entries removed:\n\n* drop-down\n* flet-tip\n* t-shirt\n* yo-yo\n\nThe reason for this is that a frequent passphrase separator is the \"-\" which can then result in ambiguous word separations. This keeps the resulting passphrase prettier (in the case where it's joined by dashes) with an unambiguous and deterministic number of dashes.\n\n#### EFF_LONG_WORDLIST\n\n```ts\nconst EFF_LONG_WORDLIST = Object.freeze([/* EFF long wordlist, see https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt */]);\n```\n\nThe [EFF recommended wordlist](https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases) for passphrases.\n\n## License\n\nThe MIT License (MIT). See [LICENSE file](LICENSE).\n","readmeFilename":"README.md"}