Knuth's integer hashing based id obfuscation
This is a port of jenssegers/optimus PHP library for Javascript. It works on the browser as well as node.
Installation
npm install optimus-js
bower install optimus-js
Usage
To initialize the library you need 3 things.
- Large prime number lower than 2147483647 (prime)
- The inverse prime so that (prime * inverse) & 2147483647 = 1
- A large random number lower than 2147483647
for more info and a command line too to generate these values please refer the original project
using the above parameters you can create instances of Optimus(prime, inverse, random)
var Optimus = require('optimus');
var optimus = new Optimus(1580030173, 59260789, 1163945558);
After that you can use encode and decode methods to encode/decode positive integers ranging from (0 to 2147483647).
var hash = optimus.encode(25);
var original = optimus.decode(hash);
Warning: Please note that this library only provides obfuscation and not encryption.