JSPM

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

Simple module that helps you encrypt & decrypt folder/file with password.

Package Exports

  • folder-encrypt

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 (folder-encrypt) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

folder-encrypt

Simple module that helps you encrypt & decrypt folder/file with password.

Installation

npm i folder-encrypt

Usage

Both methods (encrypt, decrypt) of folder-encrypt use Promise, and it will automatically detect whether this path is a file or directory.

Folder/File Encryption

import * as folderEncrypt from 'folder-encrypt';

folderEncrypt.encrypt({
    password: 'your-password',
    input: 'your-file-or-folder',
    output: 'your-file-or-folder.encrypted' // optional, default will be input path with extension `encrypted`
}).then(() => {
    console.log('encrypted!');
}).catch((err) => {
    console.log(err);
});

Stream as Output

import * as folderEncrypt from 'folder-encrypt';
import { Writable } from 'stream';
import * as fs from 'fs';

const outputs = [
    fs.createWriteStream('./output1'),
    fs.createWriteStream('./output2')
], writeStream = new Writable({
    write(chunk, encoding, next) {
        for (let i = outputs.length; i--;)  outputs[i].write(chunk);
        next();
    }
});

folderEncrypt.encrypt({
    password: 'your-password',
    input: 'your-file-or-folder',
    output: writeStream // writable stream
}).then(() => {
    console.log('encrypted!');
}).catch((err) => {
    console.log(err)
});

Folder/File Decryption

folderEncrypt.decrypt({
    password: 'your-password',
    input: 'your-file-or-folder.encrypted',
    output: 'your-file-or-folder' // optional, default will be input path without extension
}).then(() => {
    console.log('decrypted!');
    // when using a wrong password on file decryption, the file will be decrypted to a bunch of garbled text. 
    // But still considered `decrypted` due to there is no way knowing the original content.
}).catch((err) => {
    console.log(err); 
    // when using a wrong password on directory decryption, a `tar is corrupted` error will occured.
});