Package Exports
- @phc/format
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 (@phc/format) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
phc-format
π PHC string format serializer/deserializer
Coded with β€οΈ by Simone Primarosa.
Motivation
The PHC String Format is an attempt to specify a common hash string format thatβs a restricted & well defined subset of the Modular Crypt Format. New hashes are strongly encouraged to adhere to the PHC specification, rather than the much looser Modular Crypt Format.
Install
npm install --save @phc/formatUsage
const phc = require('@phc/format');
const phcobj = {
id: 'pbkdf2-sha256',
params: {i: 6400},
salt: Buffer.from('0ZrzXitFSGltTQnBWOsdAw', 'base64'),
hash: Buffer.from('Y11AchqV4b0sUisdZd0Xr97KWoymNE0LNNrnEgY4H9M', 'base64'),
};
const phcstr = "$pbkdf2-sha256$i=6400$0ZrzXitFSGltTQnBWOsdAw$Y11AchqV4b0sUisdZd0Xr97KWoymNE0LNNrnEgY4H9M";
phc.serialize(phcobj);
// => phcstr
phc.deserialize(phcstr);
// => phcobjYou can also pass an optional version parameter.
const phc = require('@phc/format');
const phcobj = {
id: 'argon2i',
version: 19,
params: {
m: 120,
t: 5000,
p: 2
},
salt: Buffer.from('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
hash: Buffer.from('J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g', 'base64'),
};
const phcstr = "$argon2i$v=19$m=120,t=5000,p=2$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g";
phc.serialize(phcobj);
// => phcstr
phc.deserialize(phcstr);
// => phcobjAPI
TOC
- serialize(opts) β
string Generates a PHC string using the data provided.
- deserialize(phcstr) β
Object Parses data from a PHC string.
serialize(opts) β string
Generates a PHC string using the data provided.
Kind: global function
Returns: string - The hash string adhering to the PHC format.
| Param | Type | Description |
|---|---|---|
| opts | Object |
Object that holds the data needed to generate the PHC string. |
| opts.id | string |
Symbolic name for the function. |
| [opts.version] | Number |
The version of the function. |
| [opts.params] | Object |
Parameters of the function. |
| [opts.salt] | Buffer |
The salt as a binary buffer. |
| [opts.hash] | Buffer |
The hash as a binary buffer. |
deserialize(phcstr) β Object
Parses data from a PHC string.
Kind: global function
Returns: Object - The object containing the data parsed from the PHC string.
| Param | Type | Description |
|---|---|---|
| phcstr | string |
A PHC string to parse. |
Contributing
Contributions are REALLY welcome and if you find a security flaw in this code, PLEASE report it.
Please check the contributing guidelines for more details. Thanks!
Authors
- Simone Primarosa - Github (@simonepri) β’ Twitter (@simoneprimarosa)
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the license file for details.