0.1.1 • Published 2 years ago

rncryptor v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

node-rncryptor

JavaScript implementation of RNCryptor

Supported formats

Format versionEncryption method
2Key based, Password based
3Key based, Password based

Usage

This package attempts to emulate the Node.js crypto API. You can see how similar createPasswordEncryptor is to createCipheriv:

const { createPasswordBasedEncryptor } = require("rncryptor");

const original = "The quick brown fox jumps over a lazy dog. 1234567890";
const password = "123456";

const encryptor = createPasswordBasedEncryptor(password);

let encrypted = encryptor.update(original, "utf-8", "hex");
encrypted += encryptor.final("hex");

console.log(encrypted);

This also applies to the corresponding decryptors:

// ...
const { createPasswordBasedDecryptor } = require("rncryptor");

const decryptor = createPasswordBasedDecryptor(password);

let decrypted = decryptor.update(encrypted, "hex", "utf-8");
decrypted += decryptor.final("utf-8");

console.log(decrypted);
// Prints: The quick brown fox jumps over a lazy dog. 1234567890

Use specific version format

By default, RNCryptor uses the latest format version when encrypting and automatically guesses the version format when decrypting. If you want to use specific format version, append the format version while importing:

const {
  createPasswordBasedEncryptor
  createPasswordBasedDecryptor
} = require("rncryptor").v2;

Todos

  • Migrate to TypeScript
  • Add inline JSDoc
  • Add unit tests
  • Add v4 support
0.1.1

2 years ago

0.1.0

2 years ago

0.0.1

10 years ago