UNPKG

optimus-ts

Version:

With this library, you can transform your ids to obfuscated integers based on Knuth's integer hash. Port of optimus-js

45 lines (30 loc) 1.23 kB
[![NPM Version](https://img.shields.io/badge/npm-v1.0.0-blue.svg)](https://www.npmjs.com/package/optimus-ts) ![Travis Info](https://travis-ci.org/mightyYaroslav/optimus-ts.svg?branch=master) # optimus-ts With this library, you can transform your ids to obfuscated integers based on Knuth's integer hash. Port of optimus-js https://www.npmjs.com/package/optimus-js Installation ------------- ``` npm i optimus-ts ``` ``` yarn add optimus-ts ``` 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 refer to the [original project](https://github.com/jenssegers/optimus) using the above parameters you can create instances of Optimus(prime, inverse, random) ``` import Optimus from 'optimus-ts' let 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). ``` let hash = optimus.encode(25); let original = optimus.decode(hash); ``` ***Warning***: Please note that this library only provides obfuscation and not encryption.