JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 401
  • Score
    100M100P100Q94140F
  • License ISC

Hash querystring params

Package Exports

  • query-string-hash

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (query-string-hash) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

query-string-hash

Encrypt and Decrypt query string

query-string-hash hides the query string params by encrypting them it into two way hash.

How it works?

  • Hides query params from URL by hashing them.
  • Encrypt the query params with a strong key.
  • Decrypt and get JSON by using the same key.

Install

$ npm install query-string-hash 

This module uses simple-encryptor. to encrypt and decrypt the string and query-string to parse the string.

Usage

At encryption side
const { encryptQueryParams } = require('query-string-hash')
const key = "real secret keys should be long and random"; //Encryption key (optional) should be atleast 16 characters long.

const queryParams = 'name=John&&age=22&&number=9876543210'; //query string params which you want to encrypt
const hash = encryptQueryParams(queryParams, key) // returns the encryptd hash which can be used as a single query string while routing
Or
const hash = encryptQueryParams(queryParams) // key is optiinal.

// Output 
// hash = 0561267fc5adccb1a3898b2d24af78b1eb69b980b5a1180d60494f9d64afccbd081b27110880da8fadbe10ffa3fa4420uO8Ub4lj652Veq5u4DraQ2YH9j96/VjfFMQfJaYE7W05io6I4WQgV8QbZAA+Wc4R
At decryption side
const { decryptQueryParams } = require('query-string-hash')
const key = "real secret keys should be long and random";

const queryParams = decryptQueryParams(hash, key) //returns the decrypted query params which can be used for further processing in JSON format.

// Output 
// queryParams = {
  age: '22',
  name: 'John',
  number: '9876543210'
}