JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8741
  • Score
    100M100P100Q132763F
  • License MIT

Simplified secured password two-ways encryption

Package Exports

  • cpass

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cpass) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cpass - simplified secured password two-ways encryption

NPM

npm version Downloads Build Status

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 --save-dev

or

yarn add cpass --dev

Usage

JavaScript

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

const password = 'password';

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

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

TypeScript

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

const password = 'password';

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

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

Decoding plain text will return it back:

let plainText = 'plain (not encoded text)';
let 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.