Skip to content

XadillaX/bling_hashes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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