A reversible base62 ID obfuscator
npm install @yag/id-hash@yag/id-hash
=====







Copyright (c) 2016 - 2020, Yassel Avila Gil (https://twitter.com/yasselavila).
@yag/id-hash is available for Node.js on npm. To install it, type:
bash
npm install -P @yag/id-hash
`
$3
###### Simple usage:
`ts
import { encode, decode } from '@yag/id-hash';
const encoded = encode(1000 /[, seed ]/); // 'QI'
const decoded = decode(encoded /[, seed ]/); // 1000
console.log('Encoded/Decoded: ', encoded, '/', decoded);
`
###### TypeScript:
`ts
import IdHash from '@yag/id-hash';
const hasher: IdHash = new IdHash();
// You can set your own seed from configuration, to keep your hashing uniform
// hasher.setSeed('J3ViNZBOGTWCdKfwReSjU8Pgcq6ELvMtyxn0apz2547brk1lIoYA9suhDmFHQX');
// Or you can generate a new one
// hasher.useRandomSeed(); // or...
// hasher.setSeed(IdHash.generateSeed());
// Get the seed, default is: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
console.log('Seed: %s', hasher.getSeed());
for (let id: number = 1001; id <= 1005; id++) {
const encoded: string = hasher.encode(id);
const decoded: number = hasher.decode(encoded);
console.log('Encoded %s=%s / Decoded: %s=%s', id, encoded, encoded, decoded);
}
// Encoded 1001=RT / Decoded: RT=1001
// Encoded 1002=RW / Decoded: RW=1002
// Encoded 1003=RC / Decoded: RC=1003
// Encoded 1004=Rd / Decoded: Rd=1004
// Encoded 1005=RK / Decoded: RK=1005
`
###### JavaScript (ES5 / CommonJS):
`js
var IdHash = require('yag-id-hash').IdHash;
var hasher = new IdHash();
// You can set your own seed from configuration, to keep your hashing uniform
// hasher.setSeed('J3ViNZBOGTWCdKfwReSjU8Pgcq6ELvMtyxn0apz2547brk1lIoYA9suhDmFHQX');
// Or you can generate a new one
// hasher.setSeed(IdHash.generateSeed());
// Get the seed, default is: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
console.log('Seed: %s', hasher.getSeed());
for (var id = 101; id <= 150; id++) {
var encoded = hasher.encode(id);
var decoded = hasher.decode(encoded);
console.log('Encoded %s=%s / Decoded: %s=%s', id, encoded, encoded, decoded);
}
`
###### Directly in (legacy?) browsers:
`html
``