The Cipher Forge library is designed to provide functionality for password and cryptographic key generation, along with security testing features.
CipherCraft Core class for password and key generation.
CipherForge Class for testing the security of passwords.
npm install cipherforgeconst {CipherCraft, CipherForge} = require('cipherforge');
const craft = new CipherCraft();
const forge = new CipherForge();Generates a custom password based on specified options.
options(optional): An object with the following properties:length(number, default: 12): Length of the password.useLowercase(boolean, default: true): Include lowercase characters.useUppercase(boolean, default: true): Include uppercase characters.useNumbers(boolean, default: true): Include numeric characters.useSymbols(boolean, default: true): Include symbol characters.customCharset(string, default: ''): Custom character set.
A generated password.
const customPassword = cipher.CustomPassword({
length: 16,
useLowercase: true,
useUppercase: true,
useNumbers: true,
useSymbols: true,
});Generates a basic password from the given character set and length.
charset(string): Character set for password generation.length(number): Length of the password.
A generated password.
const basicPassword = cipher.BasicPassword(cipher.charsets.lowercase + cipher.charsets.numeric, 10);Generates a cryptographic key with a specified length.
length(number, default: 32): Length of the key.
A generated key.
const cryptographicKey = cipher.Key();Generates a random integer within the specified range.
max(number): Maximum value (exclusive).
A random integer.
const cryptographicKey = cipher.RandInt(32);Tests the security of a password based on various criteria.
password(string): Password to test.
An object containing security information.
const passwordToTest = 'SecurePassword123!';
// Test the security of the password
const securityInfo = forge.Test(passwordToTest);
console.log('Security Information:', securityInfo);
{
isSecure: true, // or false
totalScore: 85,
details: {
lengthScore: 40,
diversityScore: 25,
specialCharactersScore: 20,
dictionaryScore: 0,
},
}