Socket
Socket
Sign inDemoInstall

keccak

Package Overview
Dependencies
Maintainers
3
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

keccak - npm Package Compare versions

Comparing version 0.1.0 to 1.0.0

js.js

1

lib/api/keccak.js

@@ -70,2 +70,3 @@ 'use strict'

this._state.initialize(this._rate, this._capacity)
return this
}

@@ -72,0 +73,0 @@

@@ -62,2 +62,3 @@ 'use strict'

this._state.initialize(this._rate, this._capacity)
return this
}

@@ -64,0 +65,0 @@

3

package.json
{
"name": "keccak",
"version": "0.1.0",
"version": "1.0.0",
"description": "Keccak sponge function family",

@@ -51,2 +51,3 @@ "keywords": [

"nyc": "^10.0.0",
"proxyquire": "^1.7.10",
"standard": "*",

@@ -53,0 +54,0 @@ "tape": "^4.5.1"

@@ -10,6 +10,45 @@ # keccak

## Installation
## Usage
You can use this package as [node Hash][3].
```js
const createKeccakHash = require('keccak')
console.log(createKeccakHash('keccak256').digest().toString('hex'))
// => c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
console.log(createKeccakHash('keccak256').update('Hello world!').digest('hex'))
// => ecd0e108a98e192af1d2c25055f4e3bed784b5c877204e73219a5203251feaab
```
Also object has two useful methods: `_resetState` and `_clone`
```js
const createKeccakHash = require('keccak')
console.log(createKeccakHash('keccak256').update('Hello World!')._resetState().digest('hex'))
// => c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
const hash1 = createKeccakHash('keccak256').update('Hello')
const hash2 = hash1._clone()
console.log(hash1.digest('hex'))
// => 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2
console.log(hash1.update(' world!').digest('hex'))
// => throw Error: Digest already called
console.log(hash2.update(' world!').digest('hex'))
// => ecd0e108a98e192af1d2c25055f4e3bed784b5c877204e73219a5203251feaab
```
### Why I should use this package?
I thought it will be popular question, so I decide write explanation in readme.
I know a few popular packages on [npm][4] related with [Keccak][1]:
- [sha3][5] ([phusion/node-sha3][6] on github) — not actual because support _only keccak_.
- [js-sha3][7] ([emn178/js-sha3][8] on github) — brilliant package which support keccak, sha3, shake. But not implement [node Hash][3] interface unfortunately! (Meanwhile works in browser without browserify/wepback and has very impressive performance)
- [browserify-sha3][9] ([wanderer/browserify-sha3][10] on github) — based on [js-sha3][7] (but not support shake!). Support [node Hash][3] interface, but without [streams][11].
- [keccakjs][12] ([axic/keccakjs][13] on github) — bindings to [sha3][5] and [browserify-sha3][9] as fallback. As result _keccak only_ with [node Hash][3] interface without [streams][11].
## LICENSE

@@ -21,1 +60,12 @@

[2]: https://github.com/gvanas/KeccakCodePackage
[3]: https://nodejs.org/api/crypto.html#crypto_class_hash
[4]: http://npmjs.com/
[5]: https://www.npmjs.com/package/sha3
[6]: https://github.com/phusion/node-sha3
[7]: https://www.npmjs.com/package/js-sha3
[8]: https://github.com/emn178/js-sha3
[9]: https://www.npmjs.com/package/browserify-sha3
[10]: https://github.com/wanderer/browserify-sha3
[11]: http://nodejs.org/api/stream.html
[12]: https://www.npmjs.com/package/keccakjs
[13]: https://github.com/axic/keccakjs

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc