Socket
Socket
Sign inDemoInstall

ncrypt-js

Package Overview
Dependencies
10
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ncrypt-js

a light weight javascript data encryption and decryption library


Version published
Weekly downloads
1.1K
decreased by-6.1%
Maintainers
1
Install size
5.74 MB
Created
Weekly downloads
 

Readme

Source

NcryptJs

Build Status Coverage Status NPM

GitHub release (latest by date) GitHub code size in bytes GitHub issues

NcryptJs is a light weight javascript data encryption and decryption library. This library implements the nodejs default crypto functionality as a mid-channel cipher in addition to a simple and elegant custom data encoding and encryption algorithm.

Contents

Getting Started

This library is available through these javascript node package manager npm and yarn.

Installation

To use this library, first ensure you have a package manager initialized either with npm or yarn

# for npm use:
npm install --save ncrypt-js

# for yarn use:
yarn add ncrypt-js

To include ncrypt-js in your project. use one of these:

// ES6 and later
+ import ncrypt from "ncrypt-js";
- import * as ncrypt from "ncrypt-js";

// or
- import { encrypt, decrypt } from "ncrypt-js";

However, if you are using ECMAScript 5 and older, use the require statement:

// ES5 and older
+ var ncrypt = require("ncrypt-js");

// or
- var { encrypt, decrypt } = require("ncrypt-js");

Documentation

NcryptJs is a simple library with only two two exposed functions. This is all intentional mainly to keep everything simple. This is a complete documentation of the library and how to use it in your project. All examples work on both ECMAScript 6 (and later) and ECMAScript 5 (and older).

NcryptJs Functions

List of NcryptJs functions.

FunctionsDescriptionParametersReturn
encrypt()Encrypts data.data: object/string/number/boolean - The data to be encrypted.
ciphered: string - encrypted data.
decrypt()Decrypts the encrypted or ciphered dataencodedData: string - The encrypted data: string to be decrypted.data: string/object/number/boolean - The decrypted or original data (it might be string or object, depends on the initial input data type).

Using encrypt() and decrypt() functons - As of version 1.1.0 this is deprecated, an object must be created first.

To encrypt and decrypt data, simply use encrypt() and decrypt() functions respectively. This will use AES-256-CBC encryption algorithm as the mid-channel cipher.

- var { encrypt, decrypt } = require("ncrypt-js");
+ var ncrypt = require("ncrypt-js");


var data = "Hello World!";
var _secretKey = "some-super-secret-key";

+ var { encodeData, decodeData } = new ncrypt(_secretKey);

// encrypting super sensitive data here
- var encryptedData = encrypt(data, _secretKey);
+ var encryptedData = encrypt(data);

console.log("Encryption process...");
console.log("Plain Text    : " + data);
console.log("Cipher Text   : " + encryptedData);

// decrypted super encrypted string here
var decryptedData = decrypt(encryptedData);
console.log("... and then decryption...");
console.log("Decipher Text : " + decryptedData);
console.log("...done.");

Using default imports

var ncrypt = require("ncrypt-js");

var data = "Hello World!";
var _secretKey = "some-super-secret-key";

var ncryptObject = new ncrypt(_secretKey);

// encrypting super sensitive data here
var encryptedData = ncryptObject.encrypt(data);
console.log("Encryption process...");
console.log("Plain Text    : " + data);
console.log("Cipher Text   : " + encryptedData);

// decrypted super encrypted string here
var decryptedData = ncryptObject.decrypt(encryptedData);
console.log("... and then decryption...");
console.log("Decipher Text : " + decryptedData);
console.log("...done.");

Object Encryption

Encryption and decryption of JavaScript object literal has never been simpler than this.

To encrypt and decrypt JavaScript object literal, simply use encrypt() and decrypt() function from an instance. This will use AES-CBC encryption algorithm.

var ncrypt = require("ncrypt-js");

var _secretKey = "some-super-secret-key";
var object = {
  NycryptJs: "is cool and fun.",
  You: "should try it!"
}

var ncryptObject = new ncrypt('ncrypt-js');

// encrypting super sensitive data here
var encryptedObject = ncryptObject.encrypt(object);
console.log("Encryption process...");
console.log("Plain Object     : " + object);
console.log("Encrypted Object : " + encryptedObject);

// decrypted super encrypted string here
var decryptedObject = ncryptObject.decrypt(encryptedObject);
console.log("... and then decryption...");
console.log("Decipher Text : " + decryptedObject);
console.log("...done.");

Built With

Written in TypeScript, built into ECMAScript 5 using the TypeScript compiler.

Contribution

To contribute, simply fork this project, and issue a pull request.

Version Management

We use SemVer for version management. For the versions available, see the tags on this repository.

Authors

  • Chukwuemeka Ajima - Initial work - ajimae

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • This library was developed to simplify how data is encrypted and decrypted in javascript.
  • Made available by open source and special thanks to Shahid for his super simple article on node core encryption (crypto) library.
  • Thanks to danang-id whose README was very insightful and Jorgeblom for his custom cipher algorithm on this stackoverflow answer

Keywords

FAQs

Last updated on 05 Mar 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc