Skip to content

bearz-io/js-secrets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@bearz/secrets

Overview

The secrets module provides a secret generator and a secret masker.

The secret generator uses a cryptographic random number generator (csrng) defaults to NIST requirements e.g length > 8, 1 upper, 1 lower, 1 digit, and 1 special character.

The secret masker works by adding secrets and variants to the masker and then it will replace the secret with '*********' which is useful to protect secrets from logs or CI/CD standard output.

logo

JSR npm version GitHub version

Documentation

Documentation is available on jsr.io

A list of other modules can be found at github.com/bearz-io/js

Usage

import { DefaultSecretGenerator, secretMasker } from "@bearz/secrets";
import { equal } from "@bearz/assert"

// secret generator / password generator
const generator = new DefaultSecretGenerator();
generator.addDefaults();

console.log(generator.generate()); // csrng generated secret 16 chars
console.log(generator.generate(30)); // csrng generated secret 30 chars

// secret masker
const masker = secretMasker;
masker.addGenerator((secret: string) => {
    return secret.toUpperCase();
});

masker.add("super secret");
masker.add("another secret");
equal(masker.mask("super secret"), "*******");
equal(masker.mask("SUPER SECRET"), "*******");
equal(masker.mask("another secret"), "*******");
equal(masker.mask("ANOTHER SECRET"), "*******");

License

MIT License

About

secret masker and secret/password generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published