{"_id":"iocane","_rev":"31-8a66db4c2f90e776e73696207a7673bc","name":"iocane","description":"Textual encryption library","dist-tags":{"latest":"5.2.0","next":"1.0.0-rc2"},"versions":{"0.1.0":{"name":"iocane","version":"0.1.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"pbkdf2":"~3.0.4"},"gitHead":"196c62aebf3d9d16e2ed885d7c9363e690e4cd88","_id":"iocane@0.1.0","_shasum":"047d1310576fc05277a00aab21971525f36e4e60","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"047d1310576fc05277a00aab21971525f36e4e60","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.1.0.tgz","integrity":"sha512-g//yevF0DGaF5Pn1neOM1+ExmArpkF6i7450nsRugEnmCsm+78OmTxs2AOkwCIabcl0TjMNZsRzPi/hnzbixDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDutDkL33jn7lqzVo8Kikz7tH4kCyDKC1dwvx2dFaQc7gIgDAWvLiz1QF5fPJgZoSaaQxO0vtQCjTdvWe83ArIAUtM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/iocane-0.1.0.tgz_1459190648487_0.01063773944042623"}},"0.2.0":{"name":"iocane","version":"0.2.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"b77742bb2573c76a282ef1dee79c2f13513d782e","_id":"iocane@0.2.0","_shasum":"8aa8b4f379c1f1f6fad5525d8f174b24e42a5d2f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"8aa8b4f379c1f1f6fad5525d8f174b24e42a5d2f","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.2.0.tgz","integrity":"sha512-rMWu5wyWUAp+57Xuky8rf+1cXfW341ZEXJBxRF36NqWUz1CfsW49IPAm+Zw4xcLV8RYVyWMtROTVdYc/elijGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGj/Owl2QNONZADMPhzCIEU15OcjY3zVELR1YenRk8/eAiEA1SJx3USag6+caEZhInwKpaJP/X0O4IzZK4nY5uf9hvw="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/iocane-0.2.0.tgz_1459618237264_0.4560206469614059"}},"0.3.0":{"name":"iocane","version":"0.3.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"5df923ef8c0db20445076b0a559304f90836e1c2","_id":"iocane@0.3.0","_shasum":"fbf2311c186477db42ca94abe5b2a91776fb8ddd","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"fbf2311c186477db42ca94abe5b2a91776fb8ddd","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.3.0.tgz","integrity":"sha512-qMcE6u7TVuj+4bGzf+vnU/JfTAL2m+xS2a+eEL8BXN75CcvIYlAHoZF8mEFnplD/ClHgHoJQ9pbUz/poRevX6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArtK+ekGK0ZDng6jAjU08DnH0Tk2NigoXChtXLxmNdXAiAY00C7ybmahGwWISz2X6v/ELmeKVEZr3ZJD0zXUTLP2A=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/iocane-0.3.0.tgz_1460146248216_0.6675519978161901"}},"0.3.1":{"name":"iocane","version":"0.3.1","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"071770ad0adf087b0595df703afa7ff3d78abaaa","_id":"iocane@0.3.1","_shasum":"62b402be5fd89fbac3fe5b7e3c40254fdbd6068b","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"62b402be5fd89fbac3fe5b7e3c40254fdbd6068b","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.3.1.tgz","integrity":"sha512-qyioK6uGiTSEC+l+tlsG7tYD3o4xdDYCy+Deb4E5bdw+S+Y975k0+qw7Z4aGltSOXFSCv/B8sALMyVZvt25zqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5R16UiIVJRv6J6Z+U4XFtFKNMYqWZkflAtJeTBkjnEAiBoCBrIBnBbCV3EJBiGxkWICpEXRefwvnKC+Lo/Ge3ZmQ=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/iocane-0.3.1.tgz_1474917023515_0.18510976829566061"}},"0.4.0":{"name":"iocane","version":"0.4.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"e3c226e8f95af8c9cf319331d60bed89ebda2d76","_id":"iocane@0.4.0","_shasum":"04120e02ea8d4774f4035848dbce729a38b61a67","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"04120e02ea8d4774f4035848dbce729a38b61a67","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.4.0.tgz","integrity":"sha512-SmxvpQVtaQryL2zORkpRICtRPAIqTG4aSFozX/cfiy4hHmyYfv+W5sbvmzMau5N0paPf0RqV8od/CxwJf40njg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKKLHWa3YdIxu9BR+TtvIL/mygo0ogEAAUMFPwmAQJdAiEAq6I5mxTKDxO4SolhRLVBfYiZcXdXKOPTTuR/6D/4HWg="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/iocane-0.4.0.tgz_1474988173275_0.05998789449222386"}},"0.5.0":{"name":"iocane","version":"0.5.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"^2.3.2","hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"ea5cec8b97e1ff3ca5f1df1184e102bd94e2fe6c","_id":"iocane@0.5.0","_shasum":"221e74b70eb393957031851293e9846a9c1a292a","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"221e74b70eb393957031851293e9846a9c1a292a","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.5.0.tgz","integrity":"sha512-dzkVCMLtZqU43x8eaxq2jviKr19hImIMHt/Cjg8/GJOPT35+R4QqN04MG8Yw9XCTQJ7WqyHunjsXdyD3v/NQCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzeY6mom+gc9cLcLdl3E82R9Z2Xy2VGZcxwwf6idm1XAIgAjJSRJW2DRE1GbbmVIG1fwaoqvRESER0L7J2BrbCrpk="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/iocane-0.5.0.tgz_1479605373699_0.08431433909572661"}},"0.6.0":{"name":"iocane","version":"0.6.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"^2.3.2","hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"f589b63fbb90152dfdfb532aebe54332756f6e8e","_id":"iocane@0.6.0","_shasum":"4e77cc7cb6f40c674ccf5bc40e0d8c73bd93cb22","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"4e77cc7cb6f40c674ccf5bc40e0d8c73bd93cb22","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.6.0.tgz","integrity":"sha512-wbWjlMQmeVxunM6JuqQIevI1CHGePBpCG5lWg12nTJPFJVUsJSpW0NSucRmStW/JF5sTkH+865MigRl40KZaeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFs88RbKkLll52Tqfsu01QuWMHNcgwRpku6ewh78/2c4AiA5hxS38ahXjbJJEysNN/Ds9H7G9BgDvr/83I8U4Hy4IA=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/iocane-0.6.0.tgz_1488821395418_0.18805343681015074"}},"0.7.0":{"name":"iocane","version":"0.7.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"^2.3.2","hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"e4521f49e4cbce6070daee72439261793ef3cdce","_id":"iocane@0.7.0","_shasum":"f832e61b0f3975d14ef7a79db79134b0b02c4ca7","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"f832e61b0f3975d14ef7a79db79134b0b02c4ca7","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.7.0.tgz","integrity":"sha512-L6IjLTT8/4rB8eIoHFaH6D9YzSDicIMl1Jdq0MdLeZgCf+cAdwC3X2me8mK1b10DS2d9xMhu/H/VTrPjT72Gkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZz+PLin9ZZ09Kpmn8za2HHAv9YVljaIxNWTX+VP5gMAiBKyLCWaYegU1trCTRfTbzCnYkw6jLBk4AoAUzZcT3Xqw=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/iocane-0.7.0.tgz_1493314743826_0.18025562423281372"}},"0.8.0":{"name":"iocane","version":"0.8.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"^2.3.2","hash_file":"^0.1.1","pbkdf2":"~3.0.4"},"gitHead":"0d1089732579b08cd7ced495c498458f022c95dd","_id":"iocane@0.8.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-W7B9kZwFHIBkRBzD5jxVV9edcuz/Brnr8hU6DFlU407rlL1iYRO+BgpHwU+2FHOalpRQLZC+cjiNtW2g588HQw==","shasum":"075f7321c8df754b6d3413f1a5a7e32e83ad37d5","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCclMaQe9owEE8PLcnuitZB+PM7lUCk608sade6x9zA7gIgJ/x0ZyOpFCj6NQ5QGm4r6GhgeqpcDg8cOvSWHGpJhQM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane-0.8.0.tgz_1503606600501_0.8369222991168499"}},"0.9.0":{"name":"iocane","version":"0.9.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"~2.3.2","hash_file":"~0.1.1","pbkdf2":"~3.0.4"},"gitHead":"e0cfa19e5f168b2e3e8efa5776399bcd592063cd","_id":"iocane@0.9.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-rVgV/lkyzJX8Xk8VplOqXdaREtY2rA6zOOfZpOtFzpXgC14iR+IpyvlXIHlvwBmRbfjk9/SdQMD6YWIMvfveKw==","shasum":"7df7b91633f1da4e01b178db4a6e7e17fa8428db","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.9.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiuVxTbHzO4lzgjf/Lwi+iHIe95q2pybWO5pzTHDffFgIgIo6Zeu/JCtcmoZ5pzpKxc6cX3z9QNoQELo2laRoIJJg="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane-0.9.0.tgz_1503948572461_0.8823549977969378"}},"0.10.0":{"name":"iocane","version":"0.10.0","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"~2.3.2","hash_file":"~0.1.1","pbkdf2":"~3.0.4"},"gitHead":"aac6185bc729c540eac41791f89a9038b7a6fd52","_id":"iocane@0.10.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-3GD5Xhx92B69V0NBzDPUQAFoR/1HPYG9SUOZti4MTBFFk7N8O9uBx1Tz2fL7z/EnBkTCbAb6HgZZIiC7+X+upA==","shasum":"e9b8b076d2080bf0f3750c3a9249d63e38292863","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.10.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBR5NluO+2WTxN67j50o009gn65kBY3MJQcuNpuDd1SkAiEA+KnGkjCpE9KoFSlaLAe1lMYjd9tsDcPdMKIorhenEXs="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane-0.10.0.tgz_1504433909257_0.020920752314850688"}},"0.10.1":{"name":"iocane","version":"0.10.1","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"~3.1.0","hash_file":"~0.1.1","pbkdf2":"~3.0.4"},"gitHead":"489df9b75e2a24d87bb81d9e4c01740d398daa2f","_id":"iocane@0.10.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-fbcBsAxXlXUuxJgGvbIprvdCRNSbcQK/cUvEaTfmfFOkUpZqhx4rNEVu8VYEZzapCSUtb46XizXL6/ttoDlVIQ==","shasum":"d0265e702ea18cbc36b3ac509276349257623430","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.10.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwVmVaLYNAiui/AFO85cB07oMRcaUi74pp0E27qdChawIhANhFTzq0OQk2GdvKP9QYWml+rfZKGU1En4SQb64E0O2O"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane-0.10.1.tgz_1510934678209_0.9133689878508449"}},"1.0.0-rc1":{"name":"iocane","version":"1.0.0-rc1","description":"Textual encryption library","main":"source/index.js","scripts":{"docs":"jsdoc2md source/**/*.js > API.md","format":"prettier --write '{source,test}/**/*.js'","precommit":"lint-staged","test":"run-s test:coverage test:format","test:coverage":"nyc --reporter=text mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 95 --functions 95","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"chai":"^4.1.2","husky":"^0.14.3","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.0.2","mocha":"^5.0.5","nodemon":"^1.17.3","npm-run-all":"^4.1.2","nyc":"^11.6.0","prettier":"^1.11.1","prettier-check":"^2.0.0","sinon":"^4.5.0"},"dependencies":{"pbkdf2":"~3.0.4"},"readme":"![iocane](https://raw.githubusercontent.com/perry-mitchell/iocane/master/iocane_header.jpg)\n\nNodeJS textual encryption library\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![Build Status](https://travis-ci.org/perry-mitchell/iocane.svg?branch=master)](https://travis-ci.org/perry-mitchell/iocane) [![Downloads per month on NPM](https://img.shields.io/npm/dm/iocane.svg?maxAge=2592000)](https://www.npmjs.com/package/iocane/) [![npm version](https://badge.fury.io/js/iocane.svg)](https://www.npmjs.com/package/iocane/)\n\n## About\n**iocane** makes text encryption and decryption easy by bundling all the complicated processes into one succinct library. Encrypt and decrypt strings easily by using iocane's encryption format - strings in, strings out.\n\nThis library uses a global configuration that is inherited by _sessions_. A session describes one encryption/decryption action, and can also have options be further overridden at the time of execution. Check the examples below for a better idea of how this process works.\n\n### Features\n**iocane** by default boasts the following features:\n\n * AES-CBC or AES-GCM encryption\n * 256bit keys\n * PBKDF2 key derivation (with 250k iterations)\n\n## Installation\nInstall `iocane` as a dependency using `npm`:\n\n```shell\nnpm install iocane --save\n```\n\n## Usage\n**iocane** can be easily used to encrypt text:\n\n```javascript\nconst { createSession } = require(\"iocane\");\n\ncreateSession()\n    .encrypt(\"some secret text\", \"myPassword\")\n    .then(encryptedString => {\n        // do something with the encrypted text\n    });\n```\n\nDecryption is even simpler, as instructions on _how_ to decrypt the payload is included in the payload itself:\n\n```javascript\ncreateSession()\n    .decrypt(encryptedString, \"myPassword\")\n    .then(decryptedString => {\n        // ...\n    });\n```\n\nDuring encryption, you can override a variety of options:\n\n```javascript\ncreateSession()\n    .use(\"gcm\") // use GCM encryption\n    .setDerivationRounds(300000)\n    .encrypt(target, password);\n```\n\nEach cryptographic function can be overridden:\n\n```javascript\ncreateSession()\n    .overrideDecryption(\"cbc\", cbcDecFn)\n    .overrideDecryption(\"gcm\", gcmDecFn)\n    .overrideEncryption(\"cbc\", cbcEncFn)\n    .overrideEncryption(\"gcm\", gcmEncFn)\n    .overrideIVGeneration(genIV)\n    .overrideKeyDerivation(deriveKey)\n    .overrideSaltGeneration(genSalt)\n    .encrypt(/* ... */);\n```\n\nInstead of overriding each method for every session, you can use the global configuration instance to override them once for all subsequent sessions:\n\n```javascript\nconst { configure, createSession } = require(\"iocane\");\n\nconfigure()\n    .use(\"gcm\")\n    .overrideDecryption(\"gcm\", gcmDecFn)\n    .overrideEncryption(\"gcm\", gcmEncFn);\n\ncreateSession().encrypt(/* ... */); // Uses global settings\n```\n\n_Note that the default encryption mode is `\"cbc\"` (AES-CBC encryption)._\n\nYou can check out the [API documentation](API.md) for more information.\n\n## Supported environments\n**iocane** supports NodeJS version 6 and above. Versions prior to 6 were supported in `0.x` but are not anymore.\n\n**iocane** is used in the browser as well, but in very custom situations. Support for using iocane in the browser is not provided through this repository. Please see respositories like [`buttercup`](https://github.com/buttercup/buttercup-core) and [Buttercup browser extension](https://github.com/buttercup/buttercup-browser-extension) for web usage.\n\n_Note: when using iocane in the browser, at very least the key derivation process should be overridden. This is extremely slow if left to the internal derivation method._\n\n## Buttercup\n**iocane** was originally part of the [Buttercup](https://github.com/buttercup) suite. Buttercup is a supported dependent of iocane and efforts are made to align iocane with Buttercup's target platforms and uses.\n","readmeFilename":"README.md","gitHead":"8c93f184bcdd4d0de4cc48fa46c57fd0519c38fa","_id":"iocane@1.0.0-rc1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-hyta3fy+31kYuK/LuYbnkkKlECvQwEaicy7WqXTNCDbtrNpbNsk3fTfS3W9qoD0AOTYX2UD04ORu49Ku1Pp10w==","shasum":"433c11b223747d78e736bb7dd3d552b2c36d2fab","tarball":"https://registry.npmjs.org/iocane/-/iocane-1.0.0-rc1.tgz","fileCount":25,"unpackedSize":93929,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxw6DY4nRZSMLNAKnXLiw2WesTdEC5Lf/Iqp0q8VqlIgIhAPrnITdW9c9y+X2t3jUxtKIir62v+Vayu+dzdewi2oOr"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_1.0.0-rc1_1522673017427_0.4148817070107669"},"_hasShrinkwrap":false},"1.0.0-rc2":{"name":"iocane","version":"1.0.0-rc2","description":"Textual encryption library","main":"source/index.js","scripts":{"docs":"jsdoc2md source/**/*.js > API.md","format":"prettier --write '{source,test}/**/*.js'","precommit":"lint-staged","test":"run-s test:coverage test:format","test:coverage":"nyc --reporter=text mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 95 --functions 95","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","husky":"^0.14.3","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.0.2","mocha":"^5.0.5","nodemon":"^1.17.3","npm-run-all":"^4.1.2","nyc":"^11.6.0","prettier":"^1.11.1","prettier-check":"^2.0.0","sinon":"^4.5.0"},"dependencies":{"pbkdf2":"~3.0.4"},"readme":"![iocane](https://raw.githubusercontent.com/perry-mitchell/iocane/master/iocane_header.jpg)\n\nNodeJS textual encryption library\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![Build Status](https://travis-ci.org/perry-mitchell/iocane.svg?branch=master)](https://travis-ci.org/perry-mitchell/iocane) [![Downloads per month on NPM](https://img.shields.io/npm/dm/iocane.svg?maxAge=2592000)](https://www.npmjs.com/package/iocane/) [![npm version](https://badge.fury.io/js/iocane.svg)](https://www.npmjs.com/package/iocane/)\n\n## About\n**iocane** makes text encryption and decryption easy by bundling all the complicated processes into one succinct library. Encrypt and decrypt strings easily by using iocane's encryption format - strings in, strings out.\n\nThis library uses a global configuration that is inherited by _sessions_. A session describes one encryption/decryption action, and can also have options be further overridden at the time of execution. Check the examples below for a better idea of how this process works.\n\n### Features\n**iocane** by default boasts the following features:\n\n * AES-CBC or AES-GCM encryption\n * 256bit keys\n * PBKDF2 key derivation (with 250k iterations)\n\n## Installation\nInstall `iocane` as a dependency using `npm`:\n\n```shell\nnpm install iocane --save\n```\n\n## Usage\n**iocane** can be easily used to encrypt text:\n\n```javascript\nconst { createSession } = require(\"iocane\");\n\ncreateSession()\n    .encrypt(\"some secret text\", \"myPassword\")\n    .then(encryptedString => {\n        // do something with the encrypted text\n    });\n```\n\nDecryption is even simpler, as instructions on _how_ to decrypt the payload is included in the payload itself:\n\n```javascript\ncreateSession()\n    .decrypt(encryptedString, \"myPassword\")\n    .then(decryptedString => {\n        // ...\n    });\n```\n\nDuring encryption, you can override a variety of options:\n\n```javascript\ncreateSession()\n    .use(\"gcm\") // use GCM encryption\n    .setDerivationRounds(300000)\n    .encrypt(target, password);\n```\n\nEach cryptographic function can be overridden:\n\n```javascript\ncreateSession()\n    .overrideDecryption(\"cbc\", cbcDecFn)\n    .overrideDecryption(\"gcm\", gcmDecFn)\n    .overrideEncryption(\"cbc\", cbcEncFn)\n    .overrideEncryption(\"gcm\", gcmEncFn)\n    .overrideIVGeneration(genIV)\n    .overrideKeyDerivation(deriveKey)\n    .overrideSaltGeneration(genSalt)\n    .encrypt(/* ... */);\n```\n\nInstead of overriding each method for every session, you can use the global configuration instance to override them once for all subsequent sessions:\n\n```javascript\nconst { configure, createSession } = require(\"iocane\");\n\nconfigure()\n    .use(\"gcm\")\n    .overrideDecryption(\"gcm\", gcmDecFn)\n    .overrideEncryption(\"gcm\", gcmEncFn);\n\ncreateSession().encrypt(/* ... */); // Uses global settings\n```\n\n_Note that the default encryption mode is `\"cbc\"` (AES-CBC encryption)._\n\nYou can check out the [API documentation](API.md) for more information.\n\n## Supported environments\n**iocane** supports NodeJS version 6 and above. Versions prior to 6 were supported in `0.x` but are not anymore.\n\n**iocane** is used in the browser as well, but in very custom situations. Support for using iocane in the browser is not provided through this repository. Please see respositories like [`buttercup`](https://github.com/buttercup/buttercup-core) and [Buttercup browser extension](https://github.com/buttercup/buttercup-browser-extension) for web usage.\n\n_Note: when using iocane in the browser, at very least the key derivation process should be overridden. This is extremely slow if left to the internal derivation method._\n\n## Buttercup\n**iocane** was originally part of the [Buttercup](https://github.com/buttercup) suite. Buttercup is a supported dependent of iocane and efforts are made to align iocane with Buttercup's target platforms and uses.\n","readmeFilename":"README.md","gitHead":"2d6f1e394b993334c94cb68c33ad58e7592e696d","_id":"iocane@1.0.0-rc2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-OkcKFJ3XZAMy1wtgeXp3E1/09tb1Mz7gBoNBT+sJ9enoxCj4lpkoLh5plQCNneCb3c71Y49rhLLHuVlfLo3diQ==","shasum":"04ece911c631e648be4a76baa916a11e3d1d91b1","tarball":"https://registry.npmjs.org/iocane/-/iocane-1.0.0-rc2.tgz","fileCount":25,"unpackedSize":95166,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHsfyTysKVe9fQJx0mjRsxJOxwPBySatXR90C1vhJxtIAiEAymNA+ARPNcJxGxo38Vr6NLQB6FILqM3q59JsLDjb8n8="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_1.0.0-rc2_1523205871665_0.453669629564565"},"_hasShrinkwrap":false},"1.0.0":{"name":"iocane","version":"1.0.0","description":"Textual encryption library","main":"source/index.js","scripts":{"docs":"jsdoc2md source/**/*.js > API.md","format":"prettier --write '{source,test}/**/*.js'","precommit":"lint-staged","test":"run-s test:coverage test:format","test:coverage":"nyc --reporter=text mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 95 --functions 95","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","husky":"^0.14.3","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.0.2","mocha":"^5.0.5","nodemon":"^1.17.3","npm-run-all":"^4.1.2","nyc":"^11.6.0","prettier":"^1.11.1","prettier-check":"^2.0.0","sinon":"^4.5.0"},"dependencies":{"pbkdf2":"~3.0.4"},"gitHead":"b62f2c67ad70670c97212af57b6a24702f2216dc","_id":"iocane@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-oBYOD5ayL475W95H/vW2Lqvb6s1ZMPdBRtf5ETZ/cBfUmvdSYJ0si6wVGFzJcPTIFaQfMmruNi7hgJJaC9QkMw==","shasum":"6eec548bdca8488ef87f495cb3bfd296028b3e20","tarball":"https://registry.npmjs.org/iocane/-/iocane-1.0.0.tgz","fileCount":25,"unpackedSize":95162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3jRkCRA9TVsSAnZWagAABYIQAKJtt/udPdi0Hd0wr0xU\nRBGoKQqmx2MIHj0BPQmxfreOgL6JaGEc7K4J4Ny3ZDl/fF2s7+PwTN4pTOVq\nNtSPXEMubAdBnT1il1u9Wzhk8vWEstE/bew0PGx7BeJ4iZeH3JQcVC8wUZx2\nPKdQshIi+9jga8/ULbpFe+3mHXhnO6eu8EgTehigp5gQjjnOqREfjDw9FTqL\ntvKbbknxfcip5PDCqrOR9h87E4shYz/ZcUCF+MJ0p3uGRdX4dqIsSsKBTPuo\nVYfpbW2KqYklRmes2b40ys5InfBb8JdlhT/zIU1webTYNYvHWqTF11RINYlL\nxFDlGPMncxF92dKLKCz/TMZ4dgc37PMzbGqpUt7CtsgaDj6XANYdNwUsKXtv\nhyo260PIvCsrNGT3LpKgoVZRyj2v7J9mxRojKd0ChkqNy0SSpSlLBCJeGRb2\ndfPi6BlPK1TaUNokmygBKLo4kvegkXu1StmMbmechXbinWZWfv8GvCeFTFkI\nugLmu1sqNTf1lj4NPHgeQ3ymqsWZWiADYok3KvcmbZSL15B6rCxT1lAO2lot\n4uYtovrQtzqiZlkEJeTmJnqkbD38G2s1pwK15ttkuOpRw5Qp94YsZStiGUNq\nm+iSjTLWhjwtgeRYWo5baW75GGmyllLa5rM5BccXnaQi0WRQQUi/s/Diygm3\noM5M\r\n=dkmf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIsWcoWkpu6Hu0K60y8CtMUW1HNnfCP1DSwaveey1eAAiA8YeYX3PUh7Q/T/At7f69QXScaiBcaKlZk03JD9/D+Tg=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_1.0.0_1524511843741_0.0011600411576029312"},"_hasShrinkwrap":false},"0.10.2":{"name":"iocane","version":"0.10.2","description":"Textual encryption library","main":"source/index.js","directories":{"test":"tests"},"scripts":{"test":"npm run test:lint && npm run test:nodeunit","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"./node_modules/nodeunit/bin/nodeunit -r tests"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"eslint":"^2.5.3","nodeunit":"^0.9.1"},"dependencies":{"debug":"~3.1.0","hash_file":"~0.1.1","pbkdf2":"~3.0.4"},"gitHead":"061b5400c6a5e59f98588c15d3996ee6e1add526","_id":"iocane@0.10.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-WnxoiMWs0WZGrruCsn37gDicN0x7RVRjnp3uHdFuIjEpDj5Lcr/g3GqgeY1la1/CvpwfaoQeU9+N15GiI2q/0w==","shasum":"b0e534fffa85e39a13e5a5a7fb8b1a5e91fc9729","tarball":"https://registry.npmjs.org/iocane/-/iocane-0.10.2.tgz","fileCount":27,"unpackedSize":110221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCqSdCRA9TVsSAnZWagAA3d4P/itOJJcgtPSAJBseHhla\nFs3kWTIGZd+P9ulUb8BwqiY59s2iyo8k0nVEZ9YxPeF9WwLAyXSfGo5yLtAP\n3ebxBcb6gBRHI/Esn2a0+ZmrBLls4pOBq/ru8+9mhU8mhXiphgNcPE+WVL+L\nVhBkUhY7EzgZ/FCd7RrBHnNiTEeN9l5FMNXOLLm5jlbqnFSBYM9VgYlcKXa/\nNq0Ua43fWxZhs40uWSFXi5CI008sN0qiopgpZDLqDusWZy3GbRG7f9OfzRy/\nqS7FwBWt0sAGiNuM8JZAG+Wj4El0g1aNOi+xhZHNiF2ztbDlZvkQL1/DbRdI\naWQfZdWFSvAseFubeg5jXSJxB+Yie85b2WMHABQgPDHjOSR3cK0MsofhXOIj\n9Kq5J9RAv2e0QgXzhU8n2ACZiPLw3JaZVlFJpIxCoggNM/OjrulM8UX4yd5w\n8oUIy7S3iEs+S3P18mIkyqCwFnq5Jo9HBws1etaetlTUibjmIALUitzEw/RA\nW2uQCU0oipCBXrnuf4MUW6NZOUYq6jsUw4B98Item7V4/yjUDcq+b/5Z/X0y\nMzS/IaDz4veOxjlwdPOTQvJrTbd2Ef4YtEuPFGIwq28tm08t2oFnVXzTVziI\nmSRcBteWuRovxIBfSqV+p9fm11RsEQ1UIYDwEO9Lr2Ov95KNWRkWc0qT3zjE\nnkSH\r\n=okPm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA92FtPNVgRSsH3UNXmf4lptBO7fuMbNn9olKj8ksrjeAiEA4JdY9Tx/5eHC0FhMgoQ+VC/b3WOmDSYPGGP23+quR20="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_0.10.2_1527424155945_0.20091403042090983"},"_hasShrinkwrap":false},"1.0.1":{"name":"iocane","version":"1.0.1","description":"Textual encryption library","main":"source/index.js","scripts":{"docs":"jsdoc2md source/**/*.js > API.md","format":"prettier --write '{source,test}/**/*.js'","precommit":"lint-staged","test":"run-s test:coverage test:format","test:coverage":"nyc --reporter=text mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 95 --functions 95","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","husky":"^0.14.3","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.0.5","mocha":"^5.1.1","nodemon":"^1.17.3","npm-run-all":"^4.1.2","nyc":"^11.7.1","prettier":"^1.12.1","prettier-check":"^2.0.0","sinon":"^4.5.0"},"dependencies":{"pbkdf2":"~3.0.16"},"gitHead":"abfab7b1588ed44e9696cf67ec504ec84de233c6","_id":"iocane@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-7zwOH9jCI/lxfoTUi9pqRsbsr9UM1q/NlmdPyq2ItZ7kIKy3yJfl9iSHhB687wJw7LBJhH/mZAZ09HJ3Bp5Ezw==","shasum":"00e71456e0dd28d5a10279f7e562d50f3c3367c2","tarball":"https://registry.npmjs.org/iocane/-/iocane-1.0.1.tgz","fileCount":26,"unpackedSize":95841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmBV4CRA9TVsSAnZWagAAnBoP/jy8GRiMM2IZUzNGPtsw\nfqTGLNoeko8i7JOhpmonQecz1RyvfodwnXBdA5z1pViw4iH1err6iTgbWhLy\ntw2w0WSR8yKxk+I17/xUaVb2r5AjvENpLSORshkQIju07LNGAiWoUxhamaaL\ni4o9mlH8FeejOCsDzSmkmWvrHc97t/dpYXZTs3wywIvEZvw/ungxa01PZSqd\nRCdB/H6UZnogbrxpYqRq5qE8AUBEbjQgs2FAR6nGe39pkM3lMIsNPyt3zXEC\nVsMDalleJqH9y+wS0AMNeM6kT5kxcJ5gXYVwfAA2FOd2cFXrX26kZRl5PztY\nm8prZe9O1kYQfgYgIXLK7gPXqYQR299ORSgKoVj/Q6XQfcSQTTL6jUGKuKsS\nvC5QZqFLRVVY/QaWWsvLjzEbrR1KOJxHfI1bNO7xlTbOY9yFpnC0B7iA5Rd8\nX0kij5mnJOMJVtpe6Ed4SFV2jaitMm3h2t/aj3N94Q+KfQ/SLSV7QOoaduyb\nz+STnZ91SuxYnN7NsUj5sOUZ51NtRF60YPdTde8+lT/tw1DDky7yWJZuzr3S\n/1jnm9ESUtH7VGpCHIpkuZF7jmkDI4MNumUyTdmDS7mcxzf6cz0SU/P6Y9uH\n1UScbQuEQcpqKNgoVry+dS1ru20gVCnf7Z9XsQxdISCAShuteepa+8r+PxcE\ngYRE\r\n=qVZp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHjoDfFnocp9KSjRC/l4S4cx4WnkUvH7NFq6F4pNAQgQIgBeWfTh1MphLJii6I6m3mWFOyxsj9L0Q3dwoz6r9slsM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_1.0.1_1536693624176_0.5001958321527962"},"_hasShrinkwrap":false},"1.0.2":{"name":"iocane","version":"1.0.2","description":"Textual encryption library","main":"source/index.js","scripts":{"docs":"jsdoc2md source/**/*.js > API.md","format":"prettier --write '{source,test}/**/*.js'","precommit":"lint-staged","test":"run-s test:coverage test:format","test:coverage":"nyc --reporter=text mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 95 --functions 95","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^1.1.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.3.0","mocha":"^5.1.1","nodemon":"^1.18.4","npm-run-all":"^4.1.2","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","sinon":"^6.3.5"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"3fe5c250a405fbe8a4da3d6977d7331655572694","_id":"iocane@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-9sTea4NOODPZAfWOpztzwdPZQ4KUHyVDspE6heKD0FsRwYVOYElDdf+Nzhirj3fOtfX6WmitsX2JovtdbV9PqQ==","shasum":"3697b168e699bdcded8d6418f962e0a3237db50e","tarball":"https://registry.npmjs.org/iocane/-/iocane-1.0.2.tgz","fileCount":26,"unpackedSize":95915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvO+yCRA9TVsSAnZWagAAAuUQAJoP1s1I+VX3nVB/5A2e\n8S+Thn6t5HhCjR8TQJQx38vQS32ypS9XJ+6IlUYLGSx7A1SpuGPIRmnrPePH\nSrYiNpqfHd/EY33IGOulwdNlHBY56YvZFYCl9KjTmS31jD8veTM9kOhjuR+/\noL6yqb2B9LYs+hcUZ7rtAgH0oYrMTk2GDRvVYIjh7NUyzcQ6MW2nt7BY9TVt\nExSaeFy1FHhsm90ChLF/AlVa6RsvU/iYFxLm+OX64i8UbcRUnPp8bjSssr+F\nYMqkXPlzXRjA2tA0Wfr6EyqrGI7kwDHvaNaaES7hmSwCAuELx9+wrXQZkUEu\n6mEwCOa/PD+3qDCGykXcLNnMT3wwiHbKmI8PCSgyML/jrle6/9hJByxKZdjg\nVbPjy7++/ny1yOq9WDhYOJXP1sclqx1zDY+L7C/KzZKTiD7G9Vfdg1u4a+B1\nalg9r+9FvYj0q801Lj4psmzErjQh/IoZucOCamfsOaLBEx9ebkDfHL4rkc/Y\nAPC6fmteTbQnZJ6IIjzVVPeU1WggDAAnMjijBRBEb+LRK/4hTpLtT1G/Gg+v\nMISccbpSzpzGARhMX8qm1zq7vMdsc/SP0VBJ7xYrHE5zUl21jFjhnsCOm3FY\nicBcFN2woc4SCdPnCflM7cBc8BmBbFUYZObJj3dZb/HEz6LhkYUUtSUdUecy\nfHRw\r\n=Q7Wg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj3OK63M1liKMawc6Zcd35a763vrtpLJtEt+Lt76srbwIgdT6OG/VMeZy26XVn3pRFqNXBuwJ/i5cIFX+NLPI46Mk="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_1.0.2_1539108786109_0.16538068246518622"},"_hasShrinkwrap":false},"2.0.0":{"name":"iocane","version":"2.0.0","description":"Textual encryption library","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s build test:coverage test:format","test:coverage":"nyc --reporter=text mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 85 --functions 85","test:format":"prettier-check \"{source,test}/**/*.js\"","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"chai":"^4.2.0","chai-as-promised":"^7.1.1","concat-md":"^0.3.2","husky":"^3.1.0","lint-staged":"^9.5.0","mocha":"^6.2.2","nodemon":"^2.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^7.5.0","typedoc":"^0.15.4","typedoc-plugin-markdown":"^2.2.14","typescript":"^3.7.3"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"f7ece63ef009e17e8b8a34502bc2b8061ce48fc1","_id":"iocane@2.0.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-U9gLmGCCww/Q/J+171cZPe4eDZnmmQ9uSWMY9Td7uQSCB742HINCKL3aolPztDHTj4zyF+P0JxHT0/0+UxCnAg==","shasum":"068ff4ac1024220b26ab783cd5fee4a0e7a0539b","tarball":"https://registry.npmjs.org/iocane/-/iocane-2.0.0.tgz","fileCount":24,"unpackedSize":113578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd949aCRA9TVsSAnZWagAA9nkP/1FKe1DbEhMZRY6RPX48\nLUtAJZUA5FSKGMkOhhyNIZPSYt0dhsQ6kGzS7slTHAXCRUWRPx0uJtckHDUO\nKPqxkd+q3BwGm51dBnHyDx2jg4JsN5FXNaRYfGwZ5gamNm+N/ZIqZpoEE1fA\n/veZq9T/6yIeTXVGLMyw3yWvnREWf9xaBTkQjhQuYYvHHmp8/B1JbFV6zR4j\nEHgO6DxZ5XeQ0R9JIZbQEdtShHi++pyAW4uW35kJM6IpOrAdC/Hjd86Rf/W6\nWADvqNoVpe0vEeiPPlsclBXZG3nnr4EkV134sN5QqSAL8lVnYGDmjHXK6nzU\nuCaabAv7y3YLryrc9wQLkELyes/ZNTQsAvn3j0QcEbFzzGjirPz1ugMUikhT\nqROOszrBxO0cR47EmXbxkaJB4GMzPPFUE0igE1j57S8PDeNZctCcUHoxc0+p\nuEaDxfcTBSb15wMpHgEP4Oa7nm5ELMRn6wLSyRqngUqe5E/AsPVWTdmFm6OX\nFJFvLkLky7NI+WfmJymp0fqLPy8MMzSUus0vY7jyKb4R/8qbTEP95Jpyhi7N\nagLbQtUpD8rndys7Gnqp7arub3Fl5C3OGHU77SyNkpuMRZlw7DtQvM0zeiAY\nsuU4SOF33slNM36yWfdFvJABMGkeuUEvWSHkT4PWI2BPxfnUJr/OBtrmpQ/6\nvDhG\r\n=K2P5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf6tNDIce7xeFPRq34ehHiGT6JtvCUOwR5YQAGxaTZPQIhAI1h68egcnljwaRqzXX45EQ19Dmbft8vEELWN4b7fYZo"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_2.0.0_1576505178287_0.31645392563205954"},"_hasShrinkwrap":false},"3.0.0":{"name":"iocane","version":"3.0.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:coverage test:web test:cross-env test:format","test:ci":"run-s clean build test:coverage test:web test:format","test:ci:env":"run-s clean build test:cross-env","test:coverage":"nyc --reporter=text mocha -r test/setup-node.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 85 --functions 85","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:integration":"mocha -r test/setup-node.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/setup-node.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","chai-as-promised":"^7.1.1","concat-md":"^0.3.2","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","nodemon":"^2.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^7.5.0","typedoc":"^0.15.4","typedoc-plugin-markdown":"^2.2.14","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"e1714067fa4cf20f5052bfcbd19547f15cc19b61","_id":"iocane@3.0.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-hNjxbuYR/jE5ZefROFugpEwcSsKQTwRZy3jXeEZ1MqBVlGiD9RRhcj2KSd6xLbTK8zXTfaf6gwjLjJgVCtkjqA==","shasum":"64b65134afe438f713d0a3b2ed0e8af96a69e6d1","tarball":"https://registry.npmjs.org/iocane/-/iocane-3.0.0.tgz","fileCount":27,"unpackedSize":131300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDOUOCRA9TVsSAnZWagAAgCsQAIczm1zeRxgPWtbg9wNt\nHGWpfo7Kd0Duf6r/xl2+1XMZ1IYt9g4S8jpLt/nF01nYnJZOwaM3wsar+IM2\nBQCmx9Bbb+VwHXpHEUicPpHfvkFHoBGN8G5Td8agkUx7Ai6ycgq9GC0ng/0v\npElSvnjZoU1ROwyGq1kD81iEOTBrUeFYIanclgpCW8AyFC11eAnGun4kSfpM\nHLgJu+lOHyIYd1PYZk25pPhyUNnXPArOCJM0Wc6kF/8lEcOzOG5lrrFU3z/1\nGXAxsZNm4Y4ReopCTJmmO2yiTXBqNEP2Z7lBHqk4J7VK9LvHMGUDNaOBctgj\nX3stGvstJt5htrwERBZEkFkZOJRftZN//P0x6bGeo/OpcfD//f3uMExRNqw+\nZc3n5Kj9q59SS5XEnj3O61DL0eLsZqZGv8u1lVVZxB9S1Wmas+ue8MEgr6HV\nxUtP6HdwGwxi4mBUeRE2ZE4LnFETj7/TVktQtGg9Ws9KZoByQ5zg6ILkKTJV\nKDxB3fzyUb0DS4Xhqoxx4iA9gEv47V+hUCgWDH3QtTezM++LzRHQxLiUZSmH\nXIV/qIeB+Hz1JNvgGBlRJNp+qXHNV21BTOGTVVQrGXzZFQ7eQsi5nQPQDFHa\nt4ErGEVx8cOaACmHsKor/LdOD9Re/33dnbqEJaPhQOfT3LLvXK498aOaGC/i\nWw1k\r\n=id4d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQSAeJxYA3UEABnRApqK8AKX8wBpgs4Ne0BCXAE3tvfAIhAK9RRquTlP886zzi7ibCFWMz3okjKfjacI6Tn8hV1tlZ"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_3.0.0_1577903374284_0.18004721303019355"},"_hasShrinkwrap":false},"4.0.0":{"name":"iocane","version":"4.0.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:coverage test:web test:cross-env test:format","test:ci":"run-s clean build test:coverage test:web test:format","test:ci:env":"run-s clean build test:cross-env","test:coverage":"nyc --reporter=text mocha -r test/setup-node.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 85 --functions 85","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:integration":"mocha -r test/setup-node.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/setup-node.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","chai-as-promised":"^7.1.1","concat-md":"^0.3.2","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","nodemon":"^2.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^7.5.0","typedoc":"^0.15.4","typedoc-plugin-markdown":"^2.2.14","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"23bea972d5c23e4bbda30994eb95bdc101f5a7fd","_id":"iocane@4.0.0","_nodeVersion":"12.13.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-NMm0IZ/rxWgrIQbRxli0fddL9t4XbssIviljBdZfPUVEMt23fbedHqbCUAN88/R+HFAM8xy40VqQV2j0fEJlkw==","shasum":"1a626aff4437df628374ea08e9bbf2191d99d6d3","tarball":"https://registry.npmjs.org/iocane/-/iocane-4.0.0.tgz","fileCount":29,"unpackedSize":147456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeM1EPCRA9TVsSAnZWagAAaVMP/RB5R0cXrTazoIIlnTnQ\nqqZonc5K9pYmEmD4OVsi/8lXWVpqs+1nWBPmhJ38UC3DwO7qScdDP6oHNRV6\nhxFpviST6JMS5gTOunpvI5jcmdMcYzVMHeSmah7qrcOge3cpWsjfbAHK1RAI\nLShYDViUGkf8K+BibasQh238EDO5XrvntkfB3Y2o45MEBID6nBSkrpAsJV5/\nfOzz3/MbRyi0g1ufFrCmaO51IgZdNP13QedDa7s66JE9gxaPbFJ0RONUwf2f\nl5FegSDp220j2aRpMfN5xuxka9Ch0pplFoneX28A9mTLtr+mp4wOyqpJpFRc\n6/GpGNsxH7jEvbZPtRaLA9jeMJ88BJMcUj7x0uKlvH6m0DuAPCki1l6aR/yI\n5Hik00BrUNYfTNvGwFpFlKCoyl3GBIn2aoqbFYbpf+zB1jGWAABHdSQLU/jy\n1fd3Hur55MU0fryV0iL1LkeS9jSRWy6VnHeuWojB+dgmqW86maBf5hpUIVYg\n2RACuFYpRTZVzQIJcfvFS8yVWXu4Ma71uDAiTOKZjWGZdlVhnekdnTzg38wX\ngY3k6L82FKj+3Wq8jasBXuHJ34bf/E+wtPUcs2nYCbKqBqjHMHBT8SGs1TFw\nrDtrNbFbTR+uzO+AOYAeu2Hquu6CJVrSJaAdHrcN6m8H2jsorZllacj5fBKg\nH2iq\r\n=RMpY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgqK6Dd+sRluFTx7dzHg3lYhmRK571xC3uhNSA0HwEYgIgAVw5QGJj7Xu7XWyCZEDZiICFB5/RZ7qBW5yuqbrwjlU="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_4.0.0_1580421391418_0.2884453272513192"},"_hasShrinkwrap":false},"4.1.0":{"name":"iocane","version":"4.1.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:coverage test:web test:cross-env test:format","test:ci":"run-s clean build test:coverage test:web test:format","test:ci:env":"run-s clean build test:cross-env","test:coverage":"nyc --reporter=text mocha -r test/setup-node.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 85 --functions 85","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:integration":"mocha -r test/setup-node.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/setup-node.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","chai-as-promised":"^7.1.1","concat-md":"^0.3.2","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","nodemon":"^2.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^7.5.0","typedoc":"^0.15.4","typedoc-plugin-markdown":"^2.2.14","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"aea5cf3212e041000fa6a2cfae7342849e753c5d","_id":"iocane@4.1.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-eau6RcEWEFu+xrh/4/vLlj0VYczovlLui7rh2LBYtgn/VBiR/oCplP51hJoZUgLuNI9c3ZsczbnOEzodwBR4hw==","shasum":"d1f8a5ec96029071f6eba99af94ba55d6a662820","tarball":"https://registry.npmjs.org/iocane/-/iocane-4.1.0.tgz","fileCount":29,"unpackedSize":149873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe03M3CRA9TVsSAnZWagAA1fsP/0SV2Uj1mPFEzKzXp46s\njldE2JqCY+bjrTIzfEHfxF1ASwSDynW89OVuvmmb2/rcHxR1dTwSVL+of2qB\nnSkbvWzDXotHUMgRD76lDB0FL9pwvlu70pWyIl4E9HZSbtRJgPU6SgmRb4/S\nQlVM/MSfCqRDNlBHUP+Kn5QuuzXorupCaEMCWk87HYelfYvwETMKdl4mmaeZ\noBS5s+61sZt2QxlaQ8N5+nG+kAj3DGYikNHGrlWQBDv5foWtciuSV2PkbpxQ\nImv09s1oU+wxsGOGoYBaB/WrYdJYM9ZI6JpUfrFkncCs3GOm6H4H83jTeyRU\nNXGNQgjgJXpwtL3KNqZ9Z7IvGQh0HFXTgS3SeCL42npFxDACfDIueAwZRDJ8\nIbEaFkEA8jlVEtt7LR8UWDZ8wkZkNxOHYVumMLRY0ZkbHkrPOq5/LAnhQHha\nEtjewWlm0WNW5oOpUnMIQMM3ZgXcFLkf/X5G71lNnYj+3/3sDQ63j/oIvwaz\n5j1LGyUO/pJj8Wh9M43klLM37NGTxTaEUPt5+l9dzKgOSDAtQIeSbNbGe2Qz\nmljh3xsGaoyWCDPKkd2ijcwQmz2UREbHfYMaqPAb7aLdnDSQnT2iOIRIxag7\no0IlC9ZfJJFbZWN5EnOD3sK77p28VVVy3TiTPsfcHlAIX3PLBWIEFrH/tcBP\n1EWf\r\n=exSp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0TUr7FwivPD9ay50t3HEBD/xl4HRIc+8h5W04bOuK2wIgE3xoYnYtSFSasO7rv9biArnmta8W5w1TbdqEWAtYGtA="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_4.1.0_1590915894599_0.14715536945842755"},"_hasShrinkwrap":false},"4.2.0":{"name":"iocane","version":"4.2.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:coverage test:web test:cross-env test:format","test:ci":"run-s clean build test:coverage test:web test:format","test:ci:env":"run-s clean build test:cross-env","test:coverage":"nyc --reporter=text mocha -r test/setup-node.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 85 --functions 85","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:integration":"mocha -r test/setup-node.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/setup-node.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","chai-as-promised":"^7.1.1","concat-md":"^0.3.2","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","nodemon":"^2.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^7.5.0","typedoc":"^0.15.4","typedoc-plugin-markdown":"^2.2.14","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"5ac2e61962db4f1ca82a8ffb017d8a41e6456768","_id":"iocane@4.2.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-VTIyu+xSdHjch9mH41pennL5EMorr4PyRq8VxRmCBwo6DuUnnlxU3+66bZXnRFLjSVPWaYZEDKWByIChKiujtA==","shasum":"4be30488fa684b248915633bcd2f37be29191e95","tarball":"https://registry.npmjs.org/iocane/-/iocane-4.2.0.tgz","fileCount":29,"unpackedSize":150022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfeYXrCRA9TVsSAnZWagAApqkP/1IECNWJOTqacPzzfUkc\ncTYA89tMkOjthGIAFIoBGv7d/gRgrTv7BxfzDgBzU2xwGDIZgvouqBJg0Y6T\n4/amzktU2IjFHtazcNfofTH06hFvbYEgoCQo8cP9aa+iv29Ypxn2gf6/iUQe\n5O5GwGrdtWI3bDHHgbeN7H5sby9ByfC1tcgPD4Ll/J117fMf70gvn8YZoSzx\nxuLejOrZHZoi6ny4bq0aJvH0HlnyvkbhI4Ay5nQ4FgbaKWq8R9IILBoDU6qU\n37UL/V8ekFCZiaGLTroC8yEAfPN+h35bHHK00zVKs0M6zr3nK4EIYIBnPr/A\n7T2s7PFeWBXPttuLF7X84dyK3mGlgvMqrc4zYWC8PqxiT95MB9WGQwbgoj7x\nu5pGxeLuoNbWBiCGF0z5M3v5/OI4RkYZwcWpDOq0Yi9zOZFqEL9HqCQH82CX\nydpYkscqxExgjdA3Fwq3v5mTSU+Q/e9ghuZOkZBIAiIY18bbAjv9C182vHkr\nyghdTJJhVBO89woPrB4RnpvaSczU3+TwQAMJMK6ZQSIjcrVoclgoTOXvrhiv\nLwnyYxQdFZoSa6ZQ+y3hLZbpdLrJEt/rd5gz1S88i6xntvZ0kEFlSX9oBIR5\nDiRN39rObXO2x4N+WO+78dtbpIVn/3iJ64lRcqNdz8aCqG/p3eXk2i9ksV9q\nfvFk\r\n=7sRH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNE1LigtL5dcwLLR0PZOubwmUWjUGe34AajmnFf8nF5AIgaBWh/zLD5/NQZn4MWH3jfc23htC9qUkV1lA3GGntce0="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_4.2.0_1601799658936_0.1839870861180415"},"_hasShrinkwrap":false},"4.2.1":{"name":"iocane","version":"4.2.1","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:coverage test:web test:cross-env test:format","test:ci":"run-s clean build test:coverage test:web test:format","test:ci:env":"run-s clean build test:cross-env","test:coverage":"nyc --reporter=text mocha -r test/setup-node.js 'test/{unit,integration}/**/*.spec.js' && nyc check-coverage --lines 85 --functions 85","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:integration":"mocha -r test/setup-node.js 'test/integration/**/*.spec.js'","test:unit":"mocha -r test/setup-node.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","chai-as-promised":"^7.1.1","concat-md":"^0.3.2","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","nodemon":"^2.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^7.5.0","typedoc":"^0.15.4","typedoc-plugin-markdown":"^2.2.14","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"pbkdf2":"~3.0.17"},"gitHead":"5c31de71de947b375639bc393f16dee73d26f0be","_id":"iocane@4.2.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-//WfeKoNINGlQd/T/ahaYWUC7wR7QgHbZaUyDWemS+CZi4bC+O5aruAQlVK+t8BBKxdv4X25cW78187hXNGy9w==","shasum":"fa6f5d3350ca922327ae71a720658531b2d1fb9e","tarball":"https://registry.npmjs.org/iocane/-/iocane-4.2.1.tgz","fileCount":29,"unpackedSize":150509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpBYfCRA9TVsSAnZWagAAhBgP/RgCKazU0cEUSBgawL32\nPCjiP7I0ozYFkeRSp6WpBhEbujq1sAc8Y4M0dsykQPfrh+LzhUwOtPmvxH+x\n1uvErBX1fnkSiuB0KgVK/99jmtVTrjTqnlYP5jOeu4F67daK8Y+eA3rSx6Br\nhOh0UvQfGIdVyXY0BEupUD56A9Q19mTEk50T6mZO6vId8V9RbPbiQvI70UoS\nuLFE6wKmagAuhX3FWhXv1nxBOFsc42ra9XI2M8ZlOOKAnLmhbx9Khs8h8UMB\nfbUNQ8Oy4sRcwcQrxszzAn9n1D7895DdVB1qdGJl8WF5at+49C6KtQkurJ5Q\ncC7YJ3GbbEhp8GvqVBo+y7geyATtPVdbGK1DJ1kT9OjrMhc4RLEMy8++h5+M\nT3mqmRWbogl9NU1m3dA6CyYxGn1CumiTmLSXSsJR2icdh5bIMKLdfFlCBXge\n/lksU+bckre/TXIIDDMjcCtobe9I8rwSglx2v8mN84LO4C9G+Tw0SJH2ZEv/\nkTWAcpL7OXPv+7ycUfh7hODUjdQntO8tlmKwBYsfhpPn6GhfB9ivWcXj16Xs\nlHjnFocRCWpoR/lOyzoObRE0rdVblzPXhiphuKPIVKOQPYZ+MrFBpgb8JHe1\ncm9zewzKuDKbvJM7ubDpyL2ACxLmVCRNQAAOx9gktL3B5vHInTxCxQgseFN6\n24Q9\r\n=n/u4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWpihByTb4aCM2zujSC1l9/sY6sdQ9ucOPtY6MHNh6IgIhAIflG5MlCldm7opxxbE0LWQIurEnvnKNUYWvs9noei2g"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_4.2.1_1621366302823_0.8993699591955779"},"_hasShrinkwrap":false},"5.0.0":{"name":"iocane","version":"5.0.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:specs test:web test:cross-env test:format","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:specs":"nyc --reporter=text mocha -r test/setup-node.js --timeout 30000 'test/specs/**/*.spec.js' && nyc check-coverage --lines 65 --functions 65","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","@types/pbkdf2":"^3.1.0","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","concat-md":"^0.3.2","dev-null":"^0.1.1","end-of-stream-promise":"^1.0.0","hash-through":"^0.1.16","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","random-bytes-readable-stream":"^2.1.0","rimraf":"^3.0.0","sinon":"^7.5.0","stream-to-array":"^2.3.0","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"duplexer":"^0.1.2","pbkdf2":"~3.0.17","stream-each":"^1.2.3"},"gitHead":"78e8107038ca6ff9fec0dba84d05351203149c9e","_id":"iocane@5.0.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-wMwHI7YNe3DaMdt2ekuYJBsbVZ4bjKm/OUcjEtIA8Hsa3YX3JcHoI71IpVLloA/9bh8z7+EYqBHM8YRBo1TF5A==","shasum":"898775fd4f1a67f5e6d8f88243091379ef58f4e5","tarball":"https://registry.npmjs.org/iocane/-/iocane-5.0.0.tgz","fileCount":30,"unpackedSize":122140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgs9nwCRA9TVsSAnZWagAAiqQP/igpEzfeJB1BeAPRemTr\nIVt32z86MIDd/SPDQQlfaacR0Q6NrTPYdJFgOeGqh6wwiMV5wfWQks2a8nQ8\n7wFpIRA9viwH3u8tD/4sEim9j3OY+kloGO0K7idrLHuoneBhyHQ/f9t5olLX\n6FUt6D6v+fEWiZBQlPsYGI5WfF6yTrBcQNXBMW7sTAvSS2r03hRoxj7NKd9w\nacV37etB+UrenWv4eOukoVudIBMx7XtQzfj1blPjerV14nZemkN4/5hB2aeC\nJ1k83q3MeEfO0mdL4OFpzi8EDpN+Fd5pDleZOrnCmefEQNqG5Kgs7xbd2vXo\n2sTwbHFxNYAa3u28Rp2rnh1zYdoOb5hcLb3hfNlhIdHxjyCwN4uTsJmEVZdQ\noXE6fu4TZEzObUqFKHLIreCW8zhC+H+sfyYtPPv1uabWt8WJSz5VTGKE3aw7\nCHAxxx72UWueKSoKdURnqNS6hLUnF+TykHR+25KA8NYCar0o6R65FwSrLkGl\naTn0cuG41U6/++XFuMW5/nc6nKs1yh0luQuGtLTWSwQTN4/sUXtvPEkXUTLX\nZiWgSeY/Vewfb3AbAB8L1u8vEBEPXB883oYi1f0CkFNw6A3KiEguquN+jCcx\nUMqqonf+GJB/Gg1ExgRk9SyvpdGLkfN9M/JkuMINKknhdocHmU7YqMmF8pMf\nkpDw\r\n=eblJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgWFBLrj1xFD5+cfNYhshoiLFlVxOxP505oWh0Up6XcQIgZ3He/xdFtfK6oZ1J42PO976RhIdJ4mMN5eh0igoMyCI="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_5.0.0_1622399471589_0.9519091948359693"},"_hasShrinkwrap":false},"5.1.0":{"name":"iocane","version":"5.1.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:specs test:web test:cross-env test:format","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:specs":"nyc --reporter=text mocha -r test/setup-node.js --timeout 30000 'test/specs/**/*.spec.js' && nyc check-coverage --lines 65 --functions 65","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","@types/pbkdf2":"^3.1.0","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","concat-md":"^0.3.2","dev-null":"^0.1.1","end-of-stream-promise":"^1.0.0","hash-through":"^0.1.16","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","random-bytes-readable-stream":"^2.1.0","rimraf":"^3.0.0","sinon":"^7.5.0","stream-to-array":"^2.3.0","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"duplexer":"^0.1.2","pbkdf2":"~3.0.17","stream-each":"^1.2.3"},"gitHead":"a487c5074b6d2dfdb7841a12c8dcd2c3be14d39d","_id":"iocane@5.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-gc03Fg2pICKlBnuCk+dCcIS6ySqThR0tAV/DlPOBbBP+yhiGPIECP8pZ6+SWpGP/JPhdwk2OpOrFqV4OR3ercA==","shasum":"bcb0b17629e88d284a16bf0ebd1192aaf5557c22","tarball":"https://registry.npmjs.org/iocane/-/iocane-5.1.0.tgz","fileCount":30,"unpackedSize":124167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2HaXCRA9TVsSAnZWagAAnrUP/i0z+Ceb7P74USd0ZSSh\nJmu74HSYhEQlmxITp1L0G1ZWe/3OJDQW9ylpgoht42FA5/9Yw07HLp6v0hA8\nxvIgeP49emzsz9/SvZR6oCN8o0348vffC9zNUQjj7MonQl4BElwP+jrRX669\nIYExNzcfwJRXXdgJfI98akvYvyx5+xrAvw6+qKYVUaDWzswX/inY5mx87lug\nBQI0rd7Ir9B0iFUmYM/cbNcfqnfRtqfS9y+hVR4zYiTiWQfdewchcLgqtMv5\nVuEqopaAeTuJ3gW7Xl3fn+uSpyynkMCbtmLlZRcwN3tW+oZ4YdXR8qxTBxNn\nZeuibAbv//WXJDv/fysEnTtaX1Bbu+swn95OzIJedandSEMZcVuXPDbI91OV\nqfKhZKnqpfWaFsrVQTlTe2DHWOkK71+JlJn/P95f+KvHIlYXjKo5oJK1gT3v\nwAKIp1z/r55ys1VPJKZJ/XbEQDSB+9u/cuFc4DR1g1ixcZrqSecB9zwbLmVm\nICcmJPrNOktbsSq5AvVWHDHrRqUfP2w5yIFUlSzORv528U+AX0j54VrlBgnt\n0UUJSVWmP7E7yQTEJDXSrVukra+k0EV9uMpIDNwHkl4Q2vwUocsEqi8CTSHq\nzMEL8RnMnnTdELJh8tJAo+Cu5paz5wVawSSwRCXV5wMMRTMyxbJRqVqwbjja\niZKx\r\n=agoU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRMEdrtGUr1LOmLXTT57LIryylaIii/5XykDpWtPY8jQIgZKI81z4R5VT7i1gwZbJ1z2UlUvb+U7Wg1ZiywQNyKwE="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_5.1.0_1624798870442_0.3314793747906395"},"_hasShrinkwrap":false},"5.1.1":{"name":"iocane","version":"5.1.1","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s clean build test:specs test:web test:cross-env test:format","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:specs":"nyc --reporter=text mocha -r test/setup-node.js --timeout 30000 'test/specs/**/*.spec.js' && nyc check-coverage --lines 65 --functions 65","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-typescript":"^7.7.7","@types/pbkdf2":"^3.1.0","babel-loader":"^8.0.6","babel-plugin-transform-async-to-promises":"^0.8.15","chai":"^4.2.0","concat-md":"^0.3.2","dev-null":"^0.1.1","end-of-stream-promise":"^1.0.0","hash-through":"^0.1.16","husky":"^3.1.0","karma":"^4.4.1","karma-chai":"^0.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","lint-staged":"^9.5.0","mocha":"^6.2.2","nightmare":"^3.0.2","npm-run-all":"^4.1.5","nyc":"^14.1.1","prettier":"^1.19.1","prettier-check":"^2.0.0","random-bytes-readable-stream":"^2.1.0","rimraf":"^3.0.0","sinon":"^7.5.0","stream-to-array":"^2.3.0","typescript":"^3.7.3","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.10"},"dependencies":{"duplexer":"^0.1.2","pbkdf2":"~3.0.17","stream-each":"^1.2.3"},"gitHead":"286e0045472b39cc315ee80edfcf8eb1d4b0eb3a","_id":"iocane@5.1.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-YEk2QSy8LepTL7FzsklYRHaXmfiXrQOpyT8vjCCwcCwwxJ1cRLrotn0XhImG4+pJi2p4Bw0DZP5ns3HJMFQtAw==","shasum":"3da374540238e21600b29e837aa41f965a7bddee","tarball":"https://registry.npmjs.org/iocane/-/iocane-5.1.1.tgz","fileCount":30,"unpackedSize":124983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2MefCRA9TVsSAnZWagAAQnQP/iI7tEmdwtnpn/XbIYGY\nV3/FPfuaj6EHtKwLYreWGfNrT6jE5t+/YypUA/Q3Nwmz/bGCM2NcoQzalVfJ\n/QXAGcsmcjql/YkxSPhxSeRgjzIINcsXSH0qZ1/tBWxQqW0hVPRQAH15cQ8I\nUD28O5aOnXtC1mVNkwGZmU5LQv9eaHTRQMdoalHjBjrLi+KHub1PhheRhF3Q\nOJU0f3vcNTDbUhpujt8Pu+75Xa/qR/oC1pl+RqEfOyKDbbzQR1AOQYlGSyQO\nTkHyNlfQ8TaZnbOgl0A00+tfdPl8YmvXg1DAwgNNd2MTPv7K8HHxErC3rqLg\nfj6Q0jGY0ghZDOV1rQjjBEcJjXE/xvZg2Z4MvknlEx3FWFKllV2yExaftZby\nWOrEfx+5ELTPUOiYnvn0kieammDDDeMRb/d+4MtNiRYldWxyd+II6xo0bnu3\nQHMcEuPm8T5GqYD7gcTxhTuUh7UJ7D8IrmmUmo03lR0AcZdqc8/7Q4pRUOys\n/1G2avBoSnkiRhFfrjfhlbFQ13y8I/WtzUnQCNJYT1PhgFET9QK0KGI4uYpn\nmmwYNAzvn1tjH3RsNBtMg/Iz4PYSwuHP+aTxS/cVjoVHydpPJV3nYLeZXmXr\nBA28WI/uMuEPXgnWpcl1/y+1kWJp2TcOMX5r4BfcNx9bVZpXd13aMReMRngv\nkcex\r\n=fmQe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6eObvNw8pfymzzhfW6thp5gaoD2+2w5Y8IzWowZLeCAIhAMRrA7+dYqSB1MF1uAtlmtcTTuQ1hQSaRHB/9AwVIyo9"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_5.1.1_1624819614917_0.7862121424953559"},"_hasShrinkwrap":false},"5.2.0":{"name":"iocane","version":"5.2.0","description":"Textual encryption library","main":"dist/index.node.js","types":"dist/index.node.d.ts","scripts":{"build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --config webpack.config.js --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"webpack --config webpack.config.js --mode=development --watch --progress","dev:analyse":"ANALYSE=bundle npm run dev","docs":"rimraf docs && typedoc --plugin typedoc-plugin-markdown --readme none --mode file --out ./docs && concat-md --decrease-title-levels --dir-name-as-title ./docs > API.md","format":"prettier --write \"{source,test}/**/*.{js,ts}\"","prepublishOnly":"npm run build","test":"run-s clean build test:specs test:web test:cross-env test:format","test:cross-env":"mocha --timeout 20000 -r test/setup-node.js 'test/cross-env/**/*.spec.js'","test:format":"prettier-check \"{source,test}/**/*.js\"","test:specs":"nyc --reporter=text mocha -r test/setup-node.js --timeout 30000 'test/specs/**/*.spec.js' && nyc check-coverage --lines 65 --functions 65","test:web":"karma start --single-run"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"babel":{"presets":[["@babel/preset-env",{"targets":{"chrome":60,"firefox":60,"edge":12,"safari":11}}],"@babel/preset-typescript"],"plugins":[["babel-plugin-transform-async-to-promises"]]},"keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"homepage":"https://github.com/perry-mitchell/iocane#readme","devDependencies":{"@babel/core":"^7.23.5","@babel/preset-env":"^7.23.5","@babel/preset-typescript":"^7.23.3","@types/pbkdf2":"^3.1.2","babel-loader":"^9.1.3","babel-plugin-transform-async-to-promises":"^0.8.18","chai":"^4.3.10","concat-md":"^0.5.1","dev-null":"^0.1.1","end-of-stream-promise":"^1.0.0","hash-through":"^0.1.16","husky":"^4.3.8","karma":"^6.4.2","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.2.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","lint-staged":"^15.2.0","mocha":"^10.2.0","npm-run-all":"^4.1.5","nyc":"^15.1.0","prettier":"^3.1.0","prettier-check":"^2.0.0","puppeteer":"^21.6.0","random-bytes-readable-stream":"^2.1.0","rimraf":"^5.0.5","sinon":"^17.0.1","stream-to-array":"^2.3.0","typescript":"^5.3.3","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4"},"dependencies":{"duplexer":"^0.1.2","pbkdf2":"^3.1.2","stream-each":"^1.2.3"},"_id":"iocane@5.2.0","gitHead":"d70fc2aa2fb0b6ce8a99971a73b8c52b84670864","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-hjAVM9Hx/KOqj9TOSupzJv04BKOHqjed4V3TSvJK5s0NGAIH9nYgCX4Iqy8OczzIyrjv79T8WYfXzwSy+y9saQ==","shasum":"891c9ced21374f7cdf9a868992bbd3d12dd1c46a","tarball":"https://registry.npmjs.org/iocane/-/iocane-5.2.0.tgz","fileCount":30,"unpackedSize":105099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG3+PfsI8C50OA7gnax2YaGYwFLv/lt+wbUiwqVz69QWAiEAup71qFoHIq02S1skSPsxnKSZO5x5bR3t1CFVih/sz0o="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iocane_5.2.0_1702148476388_0.09080230055371286"},"_hasShrinkwrap":false}},"readme":"![iocane](https://raw.githubusercontent.com/perry-mitchell/iocane/master/iocane_header.jpg)\n\nA powerful and easy-to-use **text** and **data** encryption library for **NodeJS** and the **web**.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![Downloads per month on NPM](https://img.shields.io/npm/dm/iocane.svg?maxAge=2592000)](https://www.npmjs.com/package/iocane/) [![npm version](https://badge.fury.io/js/iocane.svg)](https://www.npmjs.com/package/iocane/)\n\n## About\n\niocane makes text and data encryption and decryption easy by bundling all the complicated processes into one succinct library. Encrypt and decrypt **strings** and **buffers** easily by using iocane's encryption format - string->string / buffer->buffer. Encrypt and decrypt **streams** in NodeJS.\n\nThis library uses \"sessions\" for encryption and decryption. A session describes one encryption/decryption action, and can also have options be further overridden at the time of execution. Check the examples below for a better idea of how this process works.\n\niocane works in the browser, too. Both a **node version** and a **web version** are available:\n\n```javascript\nconst iocane = require(\"iocane\"); // node\n```\n\n```javascript\nimport * as iocane from \"iocane/web\" // web\n```\n\n### Features\n\n**iocane** by default boasts the following features:\n\n * AES-CBC / AES-GCM encryption:\n   * Text\n   * Buffers\n   * Streams _(only in NodeJS)_\n * 256bit keys\n * PBKDF2 key derivation (with 250k/custom iterations)\n * 35KB minified web version (10KB gzipped)\n * Overridable encryption/derivation/packing functionality to allow for adaptation to yet-unsupported environments\n\n## Installation\n\nInstall `iocane` as a dependency using `npm`:\n\n```shell\nnpm install iocane --save\n```\n\n## Usage\n\n**iocane** can be easily used to encrypt text:\n\n```typescript\nimport { createAdapter } from \"iocane\";\n\ncreateAdapter()\n    .encrypt(\"some secret text\", \"myPassword\")\n    .then(encryptedString => {\n        // do something with the encrypted text\n    });\n```\n\nDecryption is even simpler, as instructions on _how_ to decrypt the payload is included in the payload itself:\n\n```typescript\nimport { createAdapter } from \"iocane\";\n\ncreateAdapter()\n    .decrypt(encryptedString, \"myPassword\")\n    .then(decryptedString => {\n        // ...\n    });\n```\n\nDuring encryption, you can override a variety of options:\n\n```typescript\nimport { EncryptionAlgorithm, createAdapter } from \"iocane\";\n\nconst encrypted = await createAdapter()\n    .setAlgorithm(EncryptionAlgorithm.GCM) // use GCM encryption\n    .setDerivationRounds(300000)\n    .encrypt(target, password);\n```\n\nEach cryptographic function can be overridden by simply replacing it on the adapter\n\n```typescript\nimport { createAdapter } from \"iocane\";\n\nconst adapter = createAdapter();\nadapter.deriveKey = async (password: string, salt: string) => { /* ... */ };\n\nawait adapter.encrypt(/* ... */);\n```\n\n_Note that the default encryption mode is `EncryptionAlgorithm.CBC` (AES-CBC encryption)._\n\n### Encrypting and decrypting data buffers\n\nIocane can handle buffers the same way it handles strings - just pass them into the same encrypt/decrypt functions:\n\n```typescript\nimport { createAdapter } from \"iocane\";\nimport fs from \"fs\";\n\ncreateAdapter()\n    .setAlgorithm(EncryptionAlgorithm.CBC)\n    .encrypt(fs.readFileSync(\"./test.bin\"), \"passw0rd\")\n    .then(data => fs.writeFileSync(\"./test.bin.enc\", data));\n```\n\n_The same can be performed on the web, with array buffers in place of standard buffers._\n\n### Encrypting and decrypting using streams\n\n_Available on the Node version only._\n\nIocane can create encryption and decryption streams, which is very useful for encrypting large amounts of data:\n\n```typescript\nimport { createAdapter } from \"iocane\";\nimport fs from \"fs\";\nimport zlib from \"zlib\";\n\n// Encrypt\nfs\n    .createReadStream(\"/my-file.dat\")\n    .pipe(zlib.createGzip())\n    .pipe(createAdapter().createEncryptStream(\"passw0rd\"))\n    .pipe(fs.createWriteStream(\"/destination.dat.enc\"));\n\n// Decrypt\nfs\n    .createReadStream(\"/destination.dat.enc\")\n    .pipe(createAdapter().createDecryptStream(\"passw0rd\"))\n    .pipe(zlib.createGunzip())\n    .pipe(fs.createWriteStream(\"/my-file-restored.dat\"));\n```\n\n### Web usage\n\nWhen building a project for the web, make sure to use the web-based version of iocane. Bundling the node version will create super-large bundles and result in slow encryption and decryption. iocane for the web uses UMD so it can be imported or simply loaded straight in the browser as a `<script>`.\n\nIf you load iocane directly in the browser, it will create a global namespace at `window.iocane` (eg. `window.iocane.createAdapter`).\n\n## Supported environments\n\niocane supports NodeJS version 10 and above. Node 8 was supported in `3.x` and versions prior to 8 were supported in `1.x`.\n\niocane is used in the browser as well - it works everywhere that `SubtleCrypto`, `ArrayBuffer` and `Promise` are available.\n\n_Note: iocane is written in TypeScript, though versions before v2 were written in JavaScript._\n\n## Buttercup\n\niocane was originally part of the [Buttercup](https://github.com/buttercup) suite. Buttercup is a supported dependent of iocane and efforts are made to align iocane with Buttercup's target platforms and uses.\n","maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"time":{"modified":"2023-12-09T19:01:16.792Z","created":"2016-03-28T18:44:10.754Z","0.1.0":"2016-03-28T18:44:10.754Z","0.2.0":"2016-04-02T17:30:39.776Z","0.3.0":"2016-04-08T20:10:50.987Z","0.3.1":"2016-09-26T19:10:25.654Z","0.4.0":"2016-09-27T14:56:14.805Z","0.5.0":"2016-11-20T01:29:34.231Z","0.6.0":"2017-03-06T17:29:56.289Z","0.7.0":"2017-04-27T17:39:07.075Z","0.8.0":"2017-08-24T20:30:01.682Z","0.9.0":"2017-08-28T19:29:33.580Z","0.10.0":"2017-09-03T10:18:30.334Z","0.10.1":"2017-11-17T16:04:39.243Z","1.0.0-rc1":"2018-04-02T12:43:37.525Z","1.0.0-rc2":"2018-04-08T16:44:31.718Z","1.0.0":"2018-04-23T19:30:43.838Z","0.10.2":"2018-05-27T12:29:16.351Z","1.0.1":"2018-09-11T19:20:24.337Z","1.0.2":"2018-10-09T18:13:06.278Z","2.0.0":"2019-12-16T14:06:18.458Z","3.0.0":"2020-01-01T18:29:34.442Z","4.0.0":"2020-01-30T21:56:31.533Z","4.1.0":"2020-05-31T09:04:54.728Z","4.2.0":"2020-10-04T08:20:59.168Z","4.2.1":"2021-05-18T19:31:43.008Z","5.0.0":"2021-05-30T18:31:11.705Z","5.1.0":"2021-06-27T13:01:10.614Z","5.1.1":"2021-06-27T18:46:55.041Z","5.2.0":"2023-12-09T19:01:16.617Z"},"homepage":"https://github.com/perry-mitchell/iocane#readme","keywords":["crypto","encrypt","decrypt","encryption","buttercup","text"],"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/iocane.git"},"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"bugs":{"url":"https://github.com/perry-mitchell/iocane/issues"},"license":"MIT","readmeFilename":"README.md"}