{"_id":"blake2b","_rev":"237737","name":"blake2b","description":"Blake2b (64-bit version) in pure Javascript","dist-tags":{"latest":"2.1.4"},"maintainers":[{"name":"emilbayes","email":""}],"time":{"modified":"2023-03-24T16:41:02.000Z","created":"2017-05-29T10:29:31.717Z","2.1.4":"2021-11-22T14:47:14.077Z","2.1.3":"2018-08-10T20:34:09.098Z","2.1.2":"2017-06-11T19:21:10.547Z","2.1.1":"2017-06-11T18:00:18.872Z","2.1.0":"2017-06-11T17:57:45.260Z","2.0.1":"2017-06-11T11:34:07.219Z","2.0.0":"2017-06-11T08:40:58.700Z","1.2.0":"2017-06-06T18:46:44.157Z","1.1.0":"2017-06-06T18:10:19.711Z","1.0.0":"2017-05-29T13:57:34.847Z","0.0.0":"2017-05-29T10:29:31.717Z"},"users":{},"author":{"name":"Emil Bay","email":"github@tixz.dk"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"versions":{"2.1.4":{"name":"blake2b","version":"2.1.4","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^2.4.0","nanoassert":"^2.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"1f63e02e3f226642959506cdaa67c8819ff145cd","_id":"blake2b@2.1.4","_nodeVersion":"16.11.1","_npmVersion":"8.1.3","dist":{"shasum":"817d278526ddb4cd673bfb1af16d1ad61e393ba3","size":55571,"noattachment":false,"key":"/blake2b/-/blake2b-2.1.4.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.1.4.tgz"},"_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"directories":{},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b_2.1.4_1637592433908_0.1745089310643575"},"_hasShrinkwrap":false,"publish_time":1637592434077,"_cnpm_publish_time":1637592434077,"_cnpmcore_publish_time":"2021-12-16T12:19:37.279Z"},"2.1.3":{"name":"blake2b","version":"2.1.3","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^1.1.0","nanoassert":"^1.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"79a4b023abe65d8c7bd850a9cd66ca7f0661125a","_id":"blake2b@2.1.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"f5388be424768e7c6327025dad0c3c6d83351bca","size":55759,"noattachment":false,"key":"/blake2b/-/blake2b-2.1.3.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.1.3.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b_2.1.3_1533933248962_0.5345932033870429"},"_hasShrinkwrap":false,"publish_time":1533933249098,"_cnpm_publish_time":1533933249098,"_cnpmcore_publish_time":"2021-12-16T12:19:37.540Z"},"2.1.2":{"name":"blake2b","version":"2.1.2","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^1.1.0","nanoassert":"^1.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"3e09141009f79056ed44911f0cd941e6210f5bff","_id":"blake2b@2.1.2","_shasum":"6880eddca35cfede92c4fb2724221334f989145a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"6880eddca35cfede92c4fb2724221334f989145a","size":55238,"noattachment":false,"key":"/blake2b/-/blake2b-2.1.2.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.1.2.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-2.1.2.tgz_1497208869422_0.44169479003176093"},"directories":{},"publish_time":1497208870547,"_hasShrinkwrap":false,"_cnpm_publish_time":1497208870547,"_cnpmcore_publish_time":"2021-12-16T12:19:37.773Z"},"2.1.1":{"name":"blake2b","version":"2.1.1","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^1.0.0","nanoassert":"^1.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"2e91db9bd2e5d599e85a5cd1509c7e0238986e8c","_id":"blake2b@2.1.1","_shasum":"754987eb07ebe2fdf370d11989bf623c0039cfa6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"754987eb07ebe2fdf370d11989bf623c0039cfa6","size":55271,"noattachment":false,"key":"/blake2b/-/blake2b-2.1.1.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.1.1.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-2.1.1.tgz_1497204017812_0.2915371535345912"},"directories":{},"publish_time":1497204018872,"_hasShrinkwrap":false,"_cnpm_publish_time":1497204018872,"_cnpmcore_publish_time":"2021-12-16T12:19:38.022Z"},"2.1.0":{"name":"blake2b","version":"2.1.0","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^1.0.0","nanoassert":"^1.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"2502900bba29ef78756f5a37b686de4c56e53ada","_id":"blake2b@2.1.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"eaf5afeac555d919463fdd943e9b5ef407888a1f","size":55269,"noattachment":false,"key":"/blake2b/-/blake2b-2.1.0.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.1.0.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-2.1.0.tgz_1497203864125_0.6232599515933543"},"directories":{},"publish_time":1497203865260,"_hasShrinkwrap":false,"_cnpm_publish_time":1497203865260,"_cnpmcore_publish_time":"2021-12-16T12:19:38.486Z"},"2.0.1":{"name":"blake2b","version":"2.0.1","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^1.0.0","nanoassert":"^1.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"c78feaeaf7892b234bc9bfdb33bc00b3704802f1","_id":"blake2b@2.0.1","_shasum":"6b9615d88f13e2d2870c07c35ffa89c11a2da1ab","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"6b9615d88f13e2d2870c07c35ffa89c11a2da1ab","size":55266,"noattachment":false,"key":"/blake2b/-/blake2b-2.0.1.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.0.1.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-2.0.1.tgz_1497180846164_0.13921061460860074"},"directories":{},"publish_time":1497180847219,"_hasShrinkwrap":false,"_cnpm_publish_time":1497180847219,"_cnpmcore_publish_time":"2021-12-16T12:19:39.447Z"},"2.0.0":{"name":"blake2b","version":"2.0.0","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{"blake2b-wasm":"^1.0.0","nanoassert":"^1.0.0"},"devDependencies":{"browserify":"^14.4.0","coverify":"^1.4.1","tape":"^4.6.3"},"scripts":{"test":"tape test.js","cov":"browserify -t coverify test.js | node | coverify"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"719e4cb502435f33818d9559a81ec2571a81d295","_id":"blake2b@2.0.0","_shasum":"a066d2a9f68ce3fce3bcd93c76b285c1cd1a962b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"a066d2a9f68ce3fce3bcd93c76b285c1cd1a962b","size":55198,"noattachment":false,"key":"/blake2b/-/blake2b-2.0.0.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-2.0.0.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-2.0.0.tgz_1497170457522_0.24255005223676562"},"directories":{},"publish_time":1497170458700,"_hasShrinkwrap":false,"_cnpm_publish_time":1497170458700,"_cnpmcore_publish_time":"2021-12-16T12:19:39.881Z"},"1.2.0":{"name":"blake2b","version":"1.2.0","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{},"devDependencies":{"tape":"^4.6.3"},"scripts":{"test":"tape test"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"f11c337c86403f06ea86cb73d3dff999b09789f6","_id":"blake2b@1.2.0","_shasum":"ca75acfe31a1f70bc28f9fdd9b60b21731e09f38","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"ca75acfe31a1f70bc28f9fdd9b60b21731e09f38","size":54819,"noattachment":false,"key":"/blake2b/-/blake2b-1.2.0.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-1.2.0.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-1.2.0.tgz_1496774803082_0.7499516005627811"},"directories":{},"publish_time":1496774804157,"_hasShrinkwrap":false,"_cnpm_publish_time":1496774804157,"_cnpmcore_publish_time":"2021-12-16T12:19:40.266Z"},"1.1.0":{"name":"blake2b","version":"1.1.0","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{},"devDependencies":{"tape":"^4.6.3"},"scripts":{"test":"tape test"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"815f25c431bab719ddeb7a4f44410283e512de1b","_id":"blake2b@1.1.0","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"0f77c485a208446301a37f9cb57ce8b868e81eec","size":54813,"noattachment":false,"key":"/blake2b/-/blake2b-1.1.0.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-1.1.0.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-1.1.0.tgz_1496772618515_0.8989704274572432"},"directories":{},"publish_time":1496772619711,"_hasShrinkwrap":false,"_cnpm_publish_time":1496772619711,"_cnpmcore_publish_time":"2021-12-16T12:19:40.558Z"},"1.0.0":{"name":"blake2b","version":"1.0.0","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{},"devDependencies":{"tape":"^4.6.3"},"scripts":{"test":"tape test"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"107f5dbc009ad4c55f8d93b56800efe758ef8e9c","_id":"blake2b@1.0.0","_shasum":"4b04eacec9f160dc993e96847298cf2fd18fe755","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"4b04eacec9f160dc993e96847298cf2fd18fe755","size":54118,"noattachment":false,"key":"/blake2b/-/blake2b-1.0.0.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-1.0.0.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-1.0.0.tgz_1496066253742_0.41042100940831006"},"directories":{},"publish_time":1496066254847,"_hasShrinkwrap":false,"_cnpm_publish_time":1496066254847,"_cnpmcore_publish_time":"2021-12-16T12:19:41.042Z"},"0.0.0":{"name":"blake2b","version":"0.0.0","description":"Blake2b (64-bit version) in pure Javascript","main":"index.js","dependencies":{},"devDependencies":{"tape":"^4.6.3"},"scripts":{"test":"tape test"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/blake2b.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"Proprietary","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"homepage":"https://github.com/emilbayes/blake2b#readme","gitHead":"68ce425f4eccae85852c34a4fac891c203b245d3","_id":"blake2b@0.0.0","_shasum":"6d64b6d9c8558da8d44cc6fa7c6ffcf22b2818f6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"shasum":"6d64b6d9c8558da8d44cc6fa7c6ffcf22b2818f6","size":1125,"noattachment":false,"key":"/blake2b/-/blake2b-0.0.0.tgz","tarball":"http://name.csiicloud.com:7001/blake2b/download/blake2b-0.0.0.tgz"},"maintainers":[{"name":"emilbayes","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blake2b-0.0.0.tgz_1496053770724_0.5059398207813501"},"directories":{},"publish_time":1496053771717,"_hasShrinkwrap":false,"_cnpm_publish_time":1496053771717,"_cnpmcore_publish_time":"2021-12-16T12:19:41.273Z"}},"readme":"# `blake2b`\n\n[![Build Status](https://travis-ci.org/emilbayes/blake2b.svg?branch=master)](https://travis-ci.org/emilbayes/blake2b)\n\n> Blake2b (64-bit version) in pure Javascript\n\nThis module is based on @dcposch\n[implementation of BLAKE2b](https://github.com/dcposch/blakejs), with some changes:\n\n* This module requires you to pass in a `out` buffer, saving an allocation\n* This module allows you to set the `salt` and `personal` parameters\n* This module exports constants for the parameters in libsodium style\n* Uses a WASM version (where it is supported) for massive performance boosts\n\nAll credit goes to @dcposch for doing the hard work of porting the\nimplementation from C to Javascript.\n\n## Usage\n\n```js\nvar blake2b = require('blake2b')\n\nvar output = new Uint8Array(64)\nvar input = Buffer.from('hello world')\n\nconsole.log('hash:', blake2b(output.length).update(input).digest('hex'))\n```\n\n## API\n\n### `var hash = blake2b(outLength, [key], [salt], [personal], [noAssert = false])`\n\nCreate a new hash instance, optionally with `key`, `salt` and\n`personal`. Bypass input assertions by setting `noAssert` to `true`.\n\nAll parameters must be `Uint8Array`, `Buffer` or another object with a compatible\nAPI. All parameters must also fulfill the following constraints, or an\n`AssertionError` will be thrown (unless `noAssert = true`):\n\n* `outLength` must within the byte ranges defined by the constants below.\n* `key` is optional, but must within the byte ranges defined by the constants\n   below, if given. This value must be kept secret, and can be used to create\n   prefix-MACs.\n* `salt` is optional, but must be exactly `SALTBYTES`, if given. You can use\n  this parameter as a kind of per user id, or local versioning scheme. This\n  value is not required to be secret.\n* `personal` is optional, but must be exactly `PERSONALBYTES`, if given. You can\n  use this parameter as a kind of app id, or global versioning scheme. This\n  value is not required to be secret.\n\n### `var hash = hash.update(input)`\n\nUpdate the hash with new `input`. Calling this method after `.digest` will throw\nan error.\n\n### `var out = hash.digest(out)`\n\nFinalise the the hash and write the digest to `out`. `out` must be exactly equal\nto `outLength` given in the `blake2b` method.\n\nOptionally you can pass `hex` to get the hash as a hex string or no arguments\nto have the hash return a new Uint8Array with the hash.\n\n### Constants\n\n* `blake2b.BYTES_MIN` Minimum length of `out`\n* `blake2b.BYTES_MAX` Maximum length of `out`\n* `blake2b.BYTES` Recommended default length of `out`\n* `blake2b.KEYBYTES_MIN` Minimum length of `key`\n* `blake2b.KEYBYTES_MAX` Maximum length of `key`\n* `blake2b.KEYBYTES` Recommended default length of `key`\n* `blake2b.SALTBYTES` Required length of `salt`\n* `blake2b.PERSONALBYTES` Required length of `personal`\n\n## Install\n\n```sh\nnpm install blake2b\n```\n\n## Test vectors\n\nThis repository includes test vectors with\n`{outlen, out, input, key, salt, personal}` objects for testing conformance\nagainst the spec and other implementations:\n\n* Lines [2 - 257](test-vectors.json#L2-L257) are tests for hashing with no key, taken from [BLAKE2 test vectors](https://github.com/BLAKE2/BLAKE2/blob/5cbb39c9ef8007f0b63723e3aea06cd0887e36ad/testvectors/blake2-kat.json)\n* Lines [258 - 513](test-vectors.json#L258-L513) are tests for hashing with keys, taken from [BLAKE2 test vectors](https://github.com/BLAKE2/BLAKE2/blob/5cbb39c9ef8007f0b63723e3aea06cd0887e36ad/testvectors/blake2-kat.json)\n* Lines [514- 577](test-vectors.json#L514-L577) are tests for hashing with key, salt and personalisation, derived from the [libsodium tests](https://github.com/jedisct1/libsodium/blob/3a9c4c38f7dbe671d91dcfa267c919734b4923df/test/default/generichash3.c)\n\n## License\n\n[ISC](LICENSE)\n","_attachments":{},"homepage":"https://github.com/emilbayes/blake2b#readme","bugs":{"url":"https://github.com/emilbayes/blake2b/issues"},"license":"ISC"}