@mercury-labs/hashing
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

Mercury Hashing

A simple NestJS module package for encoding/decoding string.

Install

npm install --save @mercury-labs/hashing

Register

HashingModule.forRoot({
  secretKey: 'GOo7cVgnCBnR8TvXIgvamXNb85cPVtJi',
  global: false
})

Register async

HashingModule.forRootAsync({
  useFactory: (config: ConfigService) => {
    return {
      secretKey: config.get('HASHING_SECRET_KEY') || '',
    }
  },
  inject: [ConfigService],
  global: false
})

Notes:

  • The secretKey should be 32 characters string.

Sample usages

import { HashTextService } from '@mercury-labs/hashing'
import { Injectable } from '@nestjs/common'

@Injectable()
export class TestService {
  public constructor(private readonly _hashTextService: HashTextService) {
  }

  public sample() {
    const hashed = this._hashTextService.encode('John Doe')

    const decoded = this._hashTextService.decode(hashed)
    
    const hashedObj = this._hashTextService.encodeJSON({
      name: 'John Doe',
      gender: 'male',
    })

    const decodedObj = this._hashTextService.decodeJSON<{
      name: string,
      gender: string
    }>(hashedObj)

    return {
      hashed,
      decoded
    }
  }
}

Package Sidebar

Install

npm i @mercury-labs/hashing

Weekly Downloads

2

Version

2.0.0

License

MIT

Unpacked Size

60.6 kB

Total Files

20

Last publish

Collaborators

  • duysolo