Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

bling-hashes

2.0.0 • Public • Published

Bling Hashes

bling-hashes bling-hashes Build Status Coverage Status License Dependency Status

Star at GitHub

String hash algorithms for node.js.

Installation

$ npm install --save bling-hashes

Introduce

There are 8 algorithms so far.

The benchmark, performance and implementation can be referenced here (各种字符串Hash函数比较).

Usage

First you should require this package.

var bling = require("bling-hashes");

And then you can pass any string to functions (the same name as algorithms, in lowercase).

Eg.

var hash1 = bling.bkdr("Hello world!"); ///< 501511565
var hash2 = bling.city32("玉扣"); ///< 887335438

Return Values

  • From BKDR to ELF, the functions return a Number value;
  • city32 returns a Number value too;
  • city64 returns a Long value which may refer here;
  • city128 returns a City128Value value which has properties below:
    • .toString(): The string value of the 128-bit number;
    • .toLongArray(): An array that includes two 64-bit Long value;
    • .toBuffers(): An array that includes two Buffers.
    • .toBigNumber(): A BigNumber value which may refer here;

Contribution

Thanks to BYVoid. The C++ implementation code was copied from his blog.

You're welcome to make pull requests.

「雖然我覺得不怎麼可能有人會關注我」

Install

npm i bling-hashes

DownloadsWeekly Downloads

16

Version

2.0.0

License

MIT

Unpacked Size

109 kB

Total Files

31

Last publish

Collaborators

  • avatar