ts-prime
Version:
A utility library for JavaScript and Typescript.
19 lines (18 loc) • 467 B
JavaScript
import { base64encode } from './base64';
/**
* Non cryptographic quality hashing function
* @param data - Hash content
* @example
* P.hash("THIS IS AWESOME") //=> LTU1MjU4ODc4NQ
* @category Utility
*/
export function hash(data) {
// tslint:disable
return base64encode((data || '')
.split('')
.reduce(function (a, b) {
a = (a << 5) - a + b.charCodeAt(0);
return a & a;
}, 0)
.toString()).replace(/=/gm, '');
}