{"_id":"@lukeed/csprng","_rev":"3-9883364ab246a067b831f9efdbaf5120","name":"@lukeed/csprng","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"version":"1.0.0","name":"@lukeed/csprng","repository":{"type":"git","url":"git+https://github.com/lukeed/csprng.git"},"description":"An alias package for `crypto.randomBytes` in Node.js and/or browsers","unpkg":"browser/index.min.js","browser":"browser/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"import":"./node/index.mjs","browser":"./browser/index.mjs","require":"./node/index.js"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./browser":{"import":"./browser/index.mjs","require":"./browser/index.js"},"./package.json":"./package.json"},"engines":{"node":">=8"},"scripts":{"build":"bundt","test":"uvu -r esm test"},"modes":{"browser":"src/browser.js","node":"src/node.js"},"keywords":["crypto","browser","isomorphic","getRandomValues","randomFill","random","csprng"],"devDependencies":{"bundt":"1.1.1","esm":"3.2.25","uvu":"0.3.4"},"publishConfig":{"access":"public"},"gitHead":"ea3400f5dab50e4f1aa7e6fada951fb45f36179e","bugs":{"url":"https://github.com/lukeed/csprng/issues"},"homepage":"https://github.com/lukeed/csprng#readme","_id":"@lukeed/csprng@1.0.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ruuGHsnabmObBdeMg3vKdGRmh06Oog3eFpf/Tk6X0kDSJDpJTDCj2dqdp1+0VjzIUgHlFF9GBm7uFqfYhhdX9g==","shasum":"733a122382749d27e2e46ec38f8c71c9d53a9636","tarball":"https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.0.0.tgz","fileCount":12,"unpackedSize":5747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmH2QCRA9TVsSAnZWagAAkPUP/AtVKHGddJ1zqLBfRX7I\nT08OjBRvt1hcxXuYYTIVsE6ZGVu/154O5JvvHgheFhookoeWe1xackkdHzAY\nK8pF3xFpF5qyrln7Eqfx6Z/yknF5A6BfephQpIwykqVa/9AXANkkHlzFoj35\nEAcbSZxcvULPkz3HeG0Wm+zbtPSEjlvHO6ucN+5bLTHwnFx4Fl3cNfWSfnxM\nhkmj5hJJMrzw29DOyEyld9bzX7fp/EAoBICJxhMCaxdyQgJHGpVJZiELXDTp\nP3xTvca6y4Fgpa/8Zr1I7PwFjQdrxdHiFCVZcuFZPz3BeylazJGDxsV6t3fS\nXDqUbE7sMmIxepiHVqCHhb3gHVCp0s04flwwOiZnnJV58d01XJCo/NHN4CJk\n/b9xt3MviRjOBwRz36e9HIMiLVMGZBPsjeOz6wTx57MsvfEvFt7CU4mdkaEY\nhEZDk7AGq5wAAHww6LPB5AuaVYqAr70J93cLK23Kbh9r3juSOsLF6z2dXztk\niKyRFOrBANBXCXpixwgjj+x12OR2A4vMroc3DGMU45NDw38m8DmWmKhKP7lO\nI+pu3HxcaCWujKXGJUOJWujN1D/xQakuHFUpNKGHKoQpa7oV/6Pb220l/efD\nx4MznEXj00mRW8AiTYmZHeljw5Nl2J9Lhi8PxaQOJNBUpFB9IlEX/FG4576p\nPVXX\r\n=AnRQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpO+Gm0sm7hUpw6+W/Ch7bUItGyoeyF0YaiqQ8cX6gwwIgBN/buLxdAiCmss4OphWSX9527p2EJvYNNZWIf71U8nc="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/csprng_1.0.0_1603829135942_0.31539898140734124"},"_hasShrinkwrap":false},"1.0.1":{"version":"1.0.1","name":"@lukeed/csprng","repository":{"type":"git","url":"git+https://github.com/lukeed/csprng.git"},"description":"An alias package for `crypto.randomBytes` in Node.js and/or browsers","unpkg":"browser/index.min.js","browser":"browser/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"browser":{"import":"./browser/index.mjs","require":"./browser/index.js"},"import":"./node/index.mjs","require":"./node/index.js"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./browser":{"import":"./browser/index.mjs","require":"./browser/index.js"},"./package.json":"./package.json"},"engines":{"node":">=8"},"scripts":{"build":"bundt","test":"uvu -r esm test"},"modes":{"browser":"src/browser.js","node":"src/node.js"},"keywords":["crypto","browser","isomorphic","getRandomValues","randomFill","random","csprng"],"devDependencies":{"bundt":"1.1.1","esm":"3.2.25","uvu":"0.5.2"},"publishConfig":{"access":"public"},"gitHead":"1a63cf8d207ab9ee99c8e25663593d72262cd79d","bugs":{"url":"https://github.com/lukeed/csprng/issues"},"homepage":"https://github.com/lukeed/csprng#readme","_id":"@lukeed/csprng@1.0.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==","shasum":"625e93a0edb2c830e3c52ce2d67b9d53377c6a66","tarball":"https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.0.1.tgz","fileCount":12,"unpackedSize":5816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd/+L3RQOsuzqRQ0w7H4v+Rz+41oP9qdcZDQbr0h4ErwIgCvpISSlmL22ylIG4OsIjm3lmXRx7dcJyVpy8CV42JgI="}]},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/csprng_1.0.1_1637556050346_0.12969226903005704"},"_hasShrinkwrap":false},"1.1.0":{"version":"1.1.0","name":"@lukeed/csprng","repository":{"type":"git","url":"git+https://github.com/lukeed/csprng.git"},"description":"An alias package for `crypto.randomBytes` in Node.js and/or browsers","unpkg":"browser/index.min.js","browser":"browser/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"browser":{"types":"./browser/index.d.ts","import":"./browser/index.mjs","require":"./browser/index.js"},"types":"./node/index.d.ts","import":"./node/index.mjs","require":"./node/index.js"},"./node":{"types":"./node/index.d.ts","import":"./node/index.mjs","require":"./node/index.js"},"./browser":{"types":"./browser/index.d.ts","import":"./browser/index.mjs","require":"./browser/index.js"},"./package.json":"./package.json"},"engines":{"node":">=8"},"scripts":{"build":"bundt","test":"uvu -r esm test"},"modes":{"browser":"src/browser.js","node":"src/node.js"},"keywords":["crypto","browser","isomorphic","getRandomValues","randomFill","random","csprng"],"devDependencies":{"bundt":"1.1.1","esm":"3.2.25","uvu":"0.5.2"},"publishConfig":{"access":"public"},"gitHead":"686b7dd9c2ee235faf98da2aaa9fcbe0315175b2","bugs":{"url":"https://github.com/lukeed/csprng/issues"},"homepage":"https://github.com/lukeed/csprng#readme","_id":"@lukeed/csprng@1.1.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==","shasum":"1e3e4bd05c1cc7a0b2ddbd8a03f39f6e4b5e6cfe","tarball":"https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz","fileCount":12,"unpackedSize":5968,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWaKezJYppbtoeTdBBhcXX6YglVv3YnA482sfXKVW4bQIgR6V1czwRb2O7eEfZl7bgi5wsKPGntbso+EL5KG612R0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJzpiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrglxAAl67P5RNsygzLw2Kzr1l+/ivcl7A1kk2X3/jzBp1DRFkHBxks\r\ny0sL3GK2LtQNMt/gDSPeuJdi4Yo50Cr96AGZ6oocAhA00bsU29bpgyTJDcMR\r\nOqy8SSpfr2pnhYHLMb8RPAsJIwsKyG7LPossAa9Vr3a0fgSb1t5XX+9RZllK\r\n7Hmml6qlqPaKnKnZM5LaYBHbNm9qqzIRJdOLXJzTKNX5rIs6Tr0003wCelZC\r\nsPkYhf5A8mOFQX4/LAtAnnMzFint1ZPtHYj7KRvBA7cNgsD0DfkC0qM94rm0\r\nXx2ddbM4cPMoPrlCB0cmGsGOdzQNHA9hNwmm/6rtAYsfaQ6hyg9t06GpxIhJ\r\nDGGjG2akak2YL0VPisqhjpIfx6tk016UzQ4mTXymsY+kOHK/FfviRGTR1pUC\r\n3HiwMj/Y6pbzMVKMcGuYY+KVfBRq19z4hPTCeJgJapCNWPQtNMuyjtzwxCxO\r\n2becYAmw6UhgPsTJsQWaN3E4V0dqKapmqWlIq+jJiFdS2BwG2njy49NEy36k\r\n0680Id42nGGhsq6GvK/3ppe8RvkRnbcSgUJwPv+bih5O6MkxafGLTdOT5G0y\r\n5ijiVGt8nC+Eo8Mb06booKg+yuU+L+6D7HDB/PxDAMuSDP3uhPCwwEUvI3/F\r\nG7S/bHxDq6XOk2NTykPnUrjAmqsf9t28FnA=\r\n=tMDv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/csprng_1.1.0_1680292450362_0.17851502573509692"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-27T20:05:35.896Z","1.0.0":"2020-10-27T20:05:36.108Z","modified":"2023-03-31T19:54:10.648Z","1.0.1":"2021-11-22T04:40:50.489Z","1.1.0":"2023-03-31T19:54:10.527Z"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"description":"An alias package for `crypto.randomBytes` in Node.js and/or browsers","homepage":"https://github.com/lukeed/csprng#readme","keywords":["crypto","browser","isomorphic","getRandomValues","randomFill","random","csprng"],"repository":{"type":"git","url":"git+https://github.com/lukeed/csprng.git"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"bugs":{"url":"https://github.com/lukeed/csprng/issues"},"license":"MIT","readme":"# @lukeed/csprng ![CI](https://github.com/lukeed/csprng/workflows/CI/badge.svg) [![codecov](https://badgen.now.sh/codecov/c/github/lukeed/csprng)](https://codecov.io/gh/lukeed/csprng)\n\n> A tiny (~90B) isomorphic wrapper for `crypto.randomBytes` in Node.js and browsers.\n\n***Why?***\n\nThis package allows you/dependents to import a cryptographically secure generator (CSPRNG) _without_ worrying about (aka, checking the runtime environment for) the different `crypto` implementations. Instead, by extracting a `random` function into a third-party/external package, one can rely on bundlers and/or module resolution to load the correct implementation for the desired environment.\n\nIn other words, one can include the browser-specific implementation when bundling for the browser, completely ignoring the Node.js code – or vice versa.\n\nBy default, this module is set up to work with Rollup, webpack, and Node's native ESM _and_ CommonJS path resolutions.\n\n## Install\n\n```\n$ npm install --save @lukeed/csprng\n```\n\n\n## Usage\n\n***General Usage***\n\n```js\n// Rely on bundlers/environment detection\nimport { random } from '@lukeed/csprng';\n\nconst array = random(12);\n// browser => Uint8Array(12) [...]\n// Node.js => <Buffer ...>\n```\n\n***Specific Environment***\n\n```js\n// Choose the \"browser\" implementation explicitly.\n//=> ! NOTE ! Will break in Node.js environments!\nimport { random } from '@lukeed/csprng/browser';\n\nconst array = random(1024);\n//=> Uint8Array(1024) [...]\n\n// ---\n\n// Choose the \"node\" implementation explicitly.\n//=> ! NOTE ! Will break in browser environments!\nimport { random } from '@lukeed/csprng/node';\n\nconst array = random(1024);\n//=> <Buffer ...>\n```\n\n\n## API\n\n### random(length)\nReturns: `Buffer` or `Uint8Array`\n\nReturns a typed array of given `length`.\n\n\n#### length\nType: `Number`\n\nThe desired length of your output TypedArray.\n\n\n## Related\n\n- [uid](https://github.com/lukeed/uid) - A tiny (134B) and fast utility to randomize unique IDs of fixed length\n- [@lukeed/uuid](https://github.com/lukeed/uuid) - A tiny (230B), fast, and cryptographically secure UUID (V4) generator for Node and the browser\n\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md"}