You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
2 months ago
|
# buffer-equal-constant-time
|
||
|
|
||
|
Constant-time `Buffer` comparison for node.js. Should work with browserify too.
|
||
|
|
||
|
[![Build Status](https://travis-ci.org/goinstant/buffer-equal-constant-time.png?branch=master)](https://travis-ci.org/goinstant/buffer-equal-constant-time)
|
||
|
|
||
|
```sh
|
||
|
npm install buffer-equal-constant-time
|
||
|
```
|
||
|
|
||
|
# Usage
|
||
|
|
||
|
```js
|
||
|
var bufferEq = require('buffer-equal-constant-time');
|
||
|
|
||
|
var a = new Buffer('asdf');
|
||
|
var b = new Buffer('asdf');
|
||
|
if (bufferEq(a,b)) {
|
||
|
// the same!
|
||
|
} else {
|
||
|
// different in at least one byte!
|
||
|
}
|
||
|
```
|
||
|
|
||
|
If you'd like to install an `.equal()` method onto the node.js `Buffer` and
|
||
|
`SlowBuffer` prototypes:
|
||
|
|
||
|
```js
|
||
|
require('buffer-equal-constant-time').install();
|
||
|
|
||
|
var a = new Buffer('asdf');
|
||
|
var b = new Buffer('asdf');
|
||
|
if (a.equal(b)) {
|
||
|
// the same!
|
||
|
} else {
|
||
|
// different in at least one byte!
|
||
|
}
|
||
|
```
|
||
|
|
||
|
To get rid of the installed `.equal()` method, call `.restore()`:
|
||
|
|
||
|
```js
|
||
|
require('buffer-equal-constant-time').restore();
|
||
|
```
|
||
|
|
||
|
# Legal
|
||
|
|
||
|
© 2013 GoInstant Inc., a salesforce.com company
|
||
|
|
||
|
Licensed under the BSD 3-clause license.
|