crypto-keygen-suite
Version:
Key generation utilities for cryptographic operations. YES I RENAMED IT. SIX STATE PROTOCOL!!! See its folder for all <3
32 lines (28 loc) • 944 B
JavaScript
import crypto from 'crypto';
function generateKey(password, salt, iterations = 100000, keyLength = 32) {
return new Promise((resolve, reject) => {
crypto.pbkdf2(password, salt, iterations, keyLength, 'sha256', (err, key) => {
if (err) {
return reject(err);
}
resolve(key);
});
});
}
const password = process.argv[2];
if (!password) {
console.error('Please provide a password as a command line argument.');
process.exit(1);
}
const salt = crypto.randomBytes(16);
const iterations = 100000;
const keyLength = 32;
(async () => {
try {
const derivedKey = await generateKey(password, salt, iterations, keyLength);
console.log('Salt (hex):', salt.toString('hex'));
console.log('Derived Key (hex):', derivedKey.toString('hex'));
} catch (error) {
console.error('Error generating key:', error);
}
})();