LogoLogo
  • Introduction
  • Our Packages
    • sp-rest-proxy
    • node-sp-auth-config
    • generator-sppp
    • sp-build-tasks
    • sp-pnp-node
    • sp-jsom-node
    • sppull
    • sp-download
    • sppurge
    • sp-live-reload
    • sp-screwdriver
    • cpass
Powered by GitBook
On this page
  • Installation
  • Usage
  • Tests
  • Comments

Was this helpful?

  1. Our Packages

cpass

🔐 Simple secure string password convertor

Previoussp-screwdriver

Last updated 5 years ago

Was this helpful?

Encrypts password to some sort of a 'secure string' to be stored in text configs to reduce risks of a silly leak.

Decripts a 'secure string' to plain password.

Installation

npm install cpass

Usage

JavaScript

const Cpass = require('cpass').Cpass;

const cpass = new Cpass();

const password = 'password';

const secured = cpass.encode(password);
// secured: "40bbb043608f54d....MhKghXTcaR2A//yNXg==" 
// is unique on different machines

const unsecured = cpass.decode(secured);
// unsecured: 'password'

TypeScript

import { Cpass } from 'cpass';

const cpass = new Cpass();

const password = 'password';

const secured = cpass.encode(password);
// secured: "40bbb043608f54d....MhKghXTcaR2A//yNXg=="
// is unique on different machines

const unsecured = cpass.decode(secured);
// unsecured: 'password'

Decoding plain text will return it back:

const plainText = 'plain (not encoded text)';
const decodedText = cpass.decode(plainText);
// decodedText: 'plain (not encoded text)'
// plainText === decodedText

Encryption with master key

import { Cpass } from 'cpass';
const cpass = new Cpass('MasterKey');

Tests

Local run

npm run test

Run in Docker for specific Node.js version

# Build an image
docker build -f ./docker/Dockerfile.node8 -t cpass.node8 .
# Run tests
docker run cpass.node8

Comments

This module is not for a real security purposes. Just for 'dummy hackers' secure and minifying risks of any password storage in a plain form.

Once encoded, the password secured form can be decoded only on the same machine, but the logic behind this is very straightforward.

Downloads
npm version
NPM
Build Status