Skip to content

Aniketvish0/6bithash

Repository files navigation

6bithash

Hash function package for hashing id's ( in positive integer ) to an alphanumeric short string using a 6 bit map ( User can also prvide thier own Custom 6 bit map )

I built this to solve the problem of getting short hash for numbers ( i was making a link shortner )

This is Made Using TypeScript and Node.js

How to use

Install with npm

npm install 6bithash

Install with pnpm

pnpm add 6bithash

Then, you can import the hash function as :

import { generateHash } from '6bithash';

or

const { generateHash } = require('6bithash');

Providing a custom hash function

The custom hash function must have key as 6bit integers and value as you want as a string.

Example:

import { generateHash } from '6bithash';
myMap = {
    "000000" : "u",
    ...
    ...
    "111111" : "o",
}
const Number = 1001;
const result = generateHash(Number,{myMap});

Note

  • The minimum number of characters in a string hash depends on the how big the number is.
  • Pass a larger number as a Argument to get a hash with more characters.
  • If you are using TypeScript the result type is string.

Example:

Javascript :

const result = generateHash(959492);
console.log(result); // result = dQqe

TypeScript :

const result:string = generateHash(959492);
console.log(result); // result = dQqe

File Structure

6bithash
├── dist
│ └── index.d.mts
│ └── index.d.ts
│ └── index.js
│ └── index.mjs
├── src
│ └── customMap.ts
│ └── index.ts
│ └── types.ts
├── tests
│ └── index.test.ts
├── .gitignore
├── License
├── pnpm-lock.yaml
├── package.json
├── jest.config.json
├── Readme.md
└── tsconfig.json
└── tsup.config.json

License

This project is licensed under the MIT License - see the LICENSE file for details.