{"_id":"scmp","_rev":"71584","name":"scmp","description":"safe, constant-time comparison of Buffers","dist-tags":{"latest":"2.1.0"},"maintainers":[{"name":"freewil","email":"lavis88@gmail.com"}],"time":{"modified":"2021-06-03T10:23:33.000Z","created":"2013-02-11T01:29:01.076Z","2.1.0":"2019-12-26T19:08:34.819Z","2.0.0":"2016-11-06T00:47:49.078Z","1.0.2":"2016-11-06T00:05:01.662Z","1.0.1":"2016-11-03T04:51:10.762Z","1.0.0":"2014-11-04T02:16:29.287Z","0.0.3":"2014-03-24T23:04:01.853Z","0.0.2":"2013-02-12T21:14:41.911Z","0.0.1":"2013-02-11T01:29:01.076Z"},"users":{"uwo":true,"x_soth":true,"iknew.today":true,"julien-f":true,"jstash":true,"supabot":true},"author":{"name":"Sean Lavine"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"versions":{"2.1.0":{"name":"scmp","version":"2.1.0","description":"safe, constant-time comparison of Buffers","main":"index.js","scripts":{"pretest":"standard --verbose","test":"mocha","posttest":"node benchmark/benchmark.js && node benchmark/crypto-check.js"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD-3-Clause","devDependencies":{"benchmark":"^2.1.4","mocha":"^6.2.0","safe-buffer":"^5.1.2","standard":"^14.3.1"},"dependencies":{},"gitHead":"be5d22baad3acdd0440eaf98d62c67dab6b04f27","bugs":{"url":"https://github.com/freewil/scmp/issues"},"homepage":"https://github.com/freewil/scmp#readme","_id":"scmp@2.1.0","_nodeVersion":"10.18.0","_npmVersion":"6.13.4","dist":{"shasum":"37b8e197c425bdeb570ab91cc356b311a11f9c9a","size":3245,"noattachment":false,"key":"/scmp/-/scmp-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-2.1.0.tgz"},"maintainers":[{"name":"freewil","email":"lavis88@gmail.com"}],"_npmUser":{"name":"freewil","email":"lavis88@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scmp_2.1.0_1577387314748_0.12475921724071015"},"_hasShrinkwrap":false,"publish_time":1577387314819,"_cnpm_publish_time":1577387314819},"2.0.0":{"name":"scmp","version":"2.0.0","description":"safe, constant-time comparison of Buffers","main":"index.js","scripts":{"test":"mocha","posttest":"matcha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD-3-Clause","devDependencies":{"matcha":"^0.7.0","mocha":"^3.1.2","safe-buffer":"^5.0.1"},"dependencies":{},"gitHead":"50b92cd87ad2db9a79203c54a7e620ccdf107df6","bugs":{"url":"https://github.com/freewil/scmp/issues"},"homepage":"https://github.com/freewil/scmp#readme","_id":"scmp@2.0.0","_shasum":"247110ef22ccf897b13a3f0abddb52782393cd6a","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"dist":{"shasum":"247110ef22ccf897b13a3f0abddb52782393cd6a","size":2954,"noattachment":false,"key":"/scmp/-/scmp-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-2.0.0.tgz"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/scmp-2.0.0.tgz_1478393267044_0.5110368472523987"},"directories":{},"publish_time":1478393269078,"_cnpm_publish_time":1478393269078,"_hasShrinkwrap":false},"1.0.2":{"name":"scmp","version":"1.0.2","description":"safe, constant-time string-comparison","main":"index.js","scripts":{"test":"mocha","posttest":"matcha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD-3-Clause","devDependencies":{"matcha":"^0.7.0","mocha":"^3.1.2"},"gitHead":"246bacad4f84fe4e0b0d16cd55d19684cffbaf5c","bugs":{"url":"https://github.com/freewil/scmp/issues"},"homepage":"https://github.com/freewil/scmp#readme","_id":"scmp@1.0.2","_shasum":"bc4e4e2713252b04210cdff9cef3ade2c8fa7370","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"dist":{"shasum":"bc4e4e2713252b04210cdff9cef3ade2c8fa7370","size":2426,"noattachment":false,"key":"/scmp/-/scmp-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-1.0.2.tgz"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/scmp-1.0.2.tgz_1478390700101_0.15123605611734092"},"directories":{},"publish_time":1478390701662,"_cnpm_publish_time":1478390701662,"_hasShrinkwrap":false,"deprecated":"scmp v2 uses improved core crypto comparison since Node v6.6.0"},"1.0.1":{"name":"scmp","version":"1.0.1","description":"safe, constant-time string-comparison","main":"index.js","scripts":{"test":"mocha","posttest":"matcha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD-3-Clause","engines":{"node":"<6.6.0"},"devDependencies":{"matcha":"^0.7.0","mocha":"^3.1.2"},"gitHead":"a2883fd145f5cb716d65c212cdfa6660134a9226","bugs":{"url":"https://github.com/freewil/scmp/issues"},"homepage":"https://github.com/freewil/scmp#readme","_id":"scmp@1.0.1","_shasum":"7497deb3a42a3c38f92f074a816673132ea3c728","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"dist":{"shasum":"7497deb3a42a3c38f92f074a816673132ea3c728","size":2554,"noattachment":false,"key":"/scmp/-/scmp-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-1.0.1.tgz"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/scmp-1.0.1.tgz_1478148670541_0.04821741511113942"},"directories":{},"publish_time":1478148670762,"_cnpm_publish_time":1478148670762,"_hasShrinkwrap":false,"deprecated":"scmp v2 uses improved core crypto comparison since Node v6.6.0"},"1.0.0":{"name":"scmp","version":"1.0.0","description":"safe, constant-time string-comparison","main":"index.js","scripts":{"test":"mocha","posttest":"matcha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD","devDependencies":{"mocha":"~1.13.0","matcha":"~0.4.0"},"gitHead":"c8c37d3daed05ea20a761694680b13cb998c0557","bugs":{"url":"https://github.com/freewil/scmp/issues"},"homepage":"https://github.com/freewil/scmp","_id":"scmp@1.0.0","_shasum":"a0b272c3fc7292f77115646f00618b0262514e04","_from":".","_npmVersion":"1.4.27","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"dist":{"shasum":"a0b272c3fc7292f77115646f00618b0262514e04","size":2340,"noattachment":false,"key":"/scmp/-/scmp-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-1.0.0.tgz"},"directories":{},"publish_time":1415067389287,"_cnpm_publish_time":1415067389287,"_hasShrinkwrap":false,"deprecated":"scmp v2 uses improved core crypto comparison since Node v6.6.0"},"0.0.3":{"name":"scmp","version":"0.0.3","description":"safe, constant-time string-comparison","main":"index.js","scripts":{"test":"mocha","posttest":"matcha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD","devDependencies":{"mocha":"~1.13.0","matcha":"~0.4.0"},"bugs":{"url":"https://github.com/freewil/scmp/issues"},"homepage":"https://github.com/freewil/scmp","_id":"scmp@0.0.3","dist":{"shasum":"3648df2d7294641e7f78673ffc29681d9bad9073","size":1462,"noattachment":false,"key":"/scmp/-/scmp-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-0.0.3.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"directories":{},"publish_time":1395702241853,"_cnpm_publish_time":1395702241853,"_hasShrinkwrap":false,"deprecated":"scmp v2 uses improved core crypto comparison since Node v6.6.0"},"0.0.2":{"name":"scmp","version":"0.0.2","description":"safe, constant-time string-comparison","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison","time equivalent","constant-time","constant time"],"author":{"name":"Sean Lavine"},"license":"BSD","readmeFilename":"README.md","devDependencies":{"mocha":"~1.8.1"},"_id":"scmp@0.0.2","dist":{"shasum":"1083b9a56caf20193c2c9d1da0692fda23a71407","size":1425,"noattachment":false,"key":"/scmp/-/scmp-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-0.0.2.tgz"},"_from":".","_npmVersion":"1.2.9","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"directories":{},"publish_time":1360703681911,"_cnpm_publish_time":1360703681911,"_hasShrinkwrap":false,"deprecated":"scmp v2 uses improved core crypto comparison since Node v6.6.0"},"0.0.1":{"name":"scmp","version":"0.0.1","description":"time-equivalent string-comparison function","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/freewil/scmp.git"},"keywords":["safe-compare","compare","time-equivalent-comparison"],"author":{"name":"Sean Lavine"},"license":"BSD","readmeFilename":"README.md","devDependencies":{"mocha":"~1.8.1"},"_id":"scmp@0.0.1","dist":{"shasum":"a4dcd67aba6ba13f5217160c63c3a9023d530bfb","size":1038,"noattachment":false,"key":"/scmp/-/scmp-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/scmp/download/scmp-0.0.1.tgz"},"_from":".","_npmVersion":"1.2.9","_npmUser":{"name":"freewil","email":"sean@eternalrise.com"},"maintainers":[{"name":"freewil","email":"sean@eternalrise.com"}],"directories":{},"publish_time":1360546141076,"_cnpm_publish_time":1360546141076,"_hasShrinkwrap":false,"deprecated":"scmp v2 uses improved core crypto comparison since Node v6.6.0"}},"readme":"# scmp\n[![travis][travis-image]][travis-url]\n[![npm][npm-image]][npm-url]\n[![downloads][downloads-image]][downloads-url]\n\n[travis-image]: https://travis-ci.org/freewil/scmp.svg?branch=master\n[travis-url]: https://travis-ci.org/freewil/scmp\n\n[npm-image]: https://img.shields.io/npm/v/scmp.svg?style=flat\n[npm-url]: https://npmjs.org/package/scmp\n\n[downloads-image]: https://img.shields.io/npm/dm/scmp.svg?style=flat\n[downloads-url]: https://npmjs.org/package/scmp\n\nSafe, constant-time comparison of Buffers.\n\n## Install\n\n```\nnpm install scmp\n```\n\n## Why?\n\nTo minimize vulnerability against [timing attacks](http://codahale.com/a-lesson-in-timing-attacks/).\n\n## Example\n\n```js\nconst scmp = require('scmp');\nconst Buffer = require('safe-buffer').Buffer;\n\nconst hash      = Buffer.from('e727d1464ae12436e899a726da5b2f11d8381b26', 'hex');\nconst givenHash = Buffer.from('e727e1b80e448a213b392049888111e1779a52db', 'hex');\n\nif (scmp(hash, givenHash)) {\n  console.log('good hash');\n} else {\n  console.log('bad hash');\n}\n\n```\n","_attachments":{},"homepage":"https://github.com/freewil/scmp#readme","bugs":{"url":"https://github.com/freewil/scmp/issues"},"license":"BSD-3-Clause"}