Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Node package of the JS implementation of Havok-N, a modified version of Fletcher & Adler checksums plus an optional iterative hash function.

License

Notifications You must be signed in to change notification settings

Luhav/Havok-N_Node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Havok-N NPM Package

What is Havok-N?

A modified version of Fletcher & Adler checksums plus an optional iterative hash function, by Lucy Havok.

Fletcher's Checksum algorithm is way overengineered. Adler had the right idea with many of the tweaks he made to simplify and solidify the algorithm. However, I liked the idea of having a user-defined arbitrary checksum bitdepth, but also make sure that the modulo is always prime so as to reduce checksum collision.

Table comparison

Fletcher Adler Havok
Word Size 8b | 16b | 32b 8b 8b
Bits 16 | 32 | 64 32 arbitrary
Modulo 28 | 216 | 232 65,521 nearest prime under 2Bits
Shift 8 | 16 | 32 16 Bits/2
Iterative Hash no no optional, arbitrary

Usage

npm install havok-n
const HavokN = require('havok-n');

var data       = "Toast"; // This is the data you want a sum of. Can be of any type.
var bitdepth   = 16;      // This is sort of like the length of the checksum, but it's not directly proportionate. If you wanted to pretend this is Adler-32, you would put 32 here. Should be an integer.
var iterations = 0;       // Optional. This is the number of iterations over the iterative hash function (defaults to 0).
HavokN(data, bitdepth, iterations);

Upstream

Havok-N is part of the EmojiHash project at Peepee Party, of which I am the creator, maintainer, and current sole contributor. The upstream version of havokn.js can be seen at https://fossil.peepee.party/emojihash/file?name=js/havokn.js.

License

Havok-N is licensed under The 3-Clause BSD License with the explicit military disclaimer (SPDX: BSD-3-Clause-No-Military-License). See LICENSE for the full text.

About

Node package of the JS implementation of Havok-N, a modified version of Fletcher & Adler checksums plus an optional iterative hash function.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published