UNPKG

@inventivetalent/optimus-ts

Version:

Knuths multiplicative hashing based id obfuscation for javascript (port of https://github.com/jenssegers/optimus).

46 lines (30 loc) 1.44 kB
Knuth's integer hashing based id obfuscation ============================================ [![Build Status](http://img.shields.io/travis/chamindu/optimus-js.svg)](https://travis-ci.org/chamindu/optimus-js) [![Latest build](https://img.shields.io/npm/v/optimus-js.svg)](https://www.npmjs.com/package/optimus-js) This is a port of [jenssegers/optimus](https://github.com/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](https://github.com/jenssegers/optimus) 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.