Helper module that:
- Creates API keys
- Creates salts
- Creates hashes
- Validates hashes
- Creates random strings
npm i @subgeniuscorp/secret-helper
const sh = require("@subgeniuscorp/secret-helper")
Use the generateApiKey
method to generate a new API key consisting of random alphanumeric characters.
The API key length is defined in the config. It defaults to 30
.
const apiKey = sh.generateApiKey();
// => 438ae36953
// If you'd like an API key of a specific length
const apiKey = sh.generateApiKey({ length: 20 });
// NOTE: API key length defaults to 30 if not provided.
The salt length is defined in the setup. It defaults to 30
.
const salt = await sh.generateSalt();
// => wEa1g
const salt = await sh.generateSalt({ saltRounds: 10 });
// NOTE: Salt length defaults to 10 if not provided.
Note: createHash
returns a promise.
const hash = await sh.createHash({
valueToHash: "some string",
saltLength: 10,
});
//=> maTsufd8d07db203eb64bf039de1d38d84aae
const hash = await sh.createHash({
valueToHash: "some string",
});
// Note: saltLength defaults to 10 if not provided.
Note: validateHash
returns a promise.
const isValid = await sh.validateHash({
hashValue: "jQHg1ed6d0b28cb5be10171f15204b9626990",
valueToCompare: "some string",
});
// => true
const randomStr = sh.generateRandomString({ length: 5 });
// => 4Hf3d
length defaults to 10 if not provided.
const randomStr = sh.generateRandomString();
// => dB8roaA2lK
To run tests:
npm run test