@xscale/phc-formatter
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

PHC Formatter

PHC Formatter serializes and deserializes PHC strings.

Install

yarn add @xscale/phc-formatter

Usage

import * as PHCFormatter from '../index.js'

const serialized = PHCFormatter.serialize({
  id: 'pbkdf2-sha256',
  salt: Buffer.from('0ZrzXitFSGltTQnBWOsdAw', 'base64'),
  hash: Buffer.from('Y11AchqV4b0sUisdZd0Xr97KWoymNE0LNNrnEgY4H9M', 'base64'),
  version: 1,
  parameters: {
    i: 1000,
    m: 1024,
    p: 8,
  },
})

console.log(serialized)

// $pbkdf2-sha256$v=1$i=1000,m=1024,p=8$Y11AchqV4b0sUisdZd0Xr97KWoymNE0LNNrnEgY4H9M$0ZrzXitFSGltTQnBWOsdAw

const parsed = PHCFormatter.deserialize(serialized)

console.log(parsed)

// {
//   id: 'pbkdf2-sha256',
//   hash: <Buffer 63 5d 40 72 1a 95 e1 bd 2c 52 2b 1d 65 dd 17 af de ca 5a 8c a6 34 4d 0b 34 da e7 12 06 38 1f d3>,
//   salt: <Buffer d1 9a f3 5e 2b 45 48 69 6d 4d 09 c1 58 eb 1d 03>,
//   version: 1,
//   parameters: { i: 1000, m: 1024, p: 8 }
// }

API

serialize(phc: PHC): string

Serializes a PHC object into a PHC string.

deserialize(phc: string): PHC

Deserializes a PHC string into a PHC object.

PHC

type PhcNode = {
  id: string
  hash: Uint8Array
  salt: Uint8Array
  version?: number
  parameters?: Record<string, number>
}

Package Sidebar

Install

npm i @xscale/phc-formatter

Weekly Downloads

4

Version

1.2.0

License

MIT

Unpacked Size

15 kB

Total Files

10

Last publish

Collaborators

  • mohitxskull