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
Markdown
[](https://www.npmjs.com/package/optimus-ts)

# 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.