A simple package to serialize and deserialize PHC strings
npm install @xscale/phc-formatterPHC Formatter serializes and deserializes PHC strings.
``bash`
yarn add @xscale/phc-formatter
`ts
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:
// salt:
// version: 1,
// parameters: { i: 1000, m: 1024, p: 8 }
// }
`
Serializes a PHC object into a PHC string.
Deserializes a PHC string into a PHC object.
`ts``
type PhcNode = {
id: string
hash: Uint8Array
salt: Uint8Array
version?: number
parameters?: Record
}