Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

secure-encrypt

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

secure-encrypt

A package that simplifies data encryption and decryption, supporting various algorithms and providing a straightforward API for developers.

  • 1.0.12
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

secure-encrypt

secure-encrypt is an npm package designed for use with ES6 (JavaScript) and TypeScript, providing a versatile encryption and decryption functionality. It supports three different encryption techniques: character substitution, hexadecimal encoding, and Caesar shift. By combining these methods, secure-encrypt offers a robust and customizable encryption solution.

Installation

To install secure-encrypt in your ES6 (JavaScript) or TypeScript project, use the following npm command:

npm install secure-encrypt

or,

yarn add secure-encrypt

Usage

Importing the Module
import { encrypt, decrypt } from 'secure-encrypt';

Encrypting a Message

To encrypt a plaintext message, use the encrypt function:

const plaintext = "Hello, World!";
const secretKey = "mySecretKey";

const encryptedText = encrypt(plaintext, secretKey);
console.log("Encrypted Text:", encryptedText);

Decrypting a Message

To decrypt an encrypted message, use the decrypt function:

const encryptedText = "encryptedTextHere";
const secretKey = "mySecretKey";

const decryptedText = decrypt(encryptedText, secretKey);
console.log("Decrypted Text:", decryptedText);

File Message Encryption and Decryption

Here's the documentation for file message encryption and decryption using the secure-encrypt npm package:

File Encryption

To encrypt the content of a file using secure-encrypt, follow these steps:

  1. Import Module: Import the encrypt function from the secure-encrypt package.

    import { encrypt } from 'secure-encrypt';
    
  2. Read File Content: Use a function to read the text content from the file.

    const fs = require('fs');
    const readFromFile = (filePath) => {
        return fs.readFileSync(filePath, 'utf8');
    };
    
  3. Encrypt and Write to File: Encrypt the content obtained from the file using the encrypt function and write the encrypted text back to the file.

    const encryptFile = (filePath, secretKey) => {
        const plaintext = readFromFile(filePath);
        const encryptedText = encrypt(plaintext, secretKey);
        writeToFile(filePath, encryptedText);
        console.log('Encryption completed. Encrypted text is written to', filePath);
    };
    
  4. Execute Encryption: Call the encryptFile function with the file path and the secret key.

    const inputFilePath = 'input.txt';
    const secretKey = 'mySecretKey';
    encryptFile(inputFilePath, secretKey);
    

File Decryption

To decrypt the content of an encrypted file using secure-encrypt, follow these steps:

  1. Import Module: Import the decrypt function from the secure-encrypt package.

    import { decrypt } from 'secure-encrypt';
    
  2. Decrypt and Write to File: Decrypt the content obtained from the encrypted file using the decrypt function and write the decrypted text back to the file.

    const decryptFile = (filePath, secretKey) => {
        const encryptedText = readFromFile(filePath);
        const decryptedText = decrypt(encryptedText, secretKey);
        writeToFile(filePath, decryptedText);
        console.log('Decryption completed. Decrypted text is written to', filePath);
    };
    
  3. Execute Decryption: Call the decryptFile function with the file path and the secret key.

    const inputFilePath = 'input.txt'; // Path to the encrypted file
    const secretKey = 'mySecretKey';
    decryptFile(inputFilePath, secretKey);
    
Example Code:
const fs = require('fs');
const { encrypt, decrypt } = require('secure-encrypt');

// Function to read text from a file
const readFromFile = (filePath) => {
    return fs.readFileSync(filePath, 'utf8');
};

// Function to write text to a file
const writeToFile = (filePath, data) => {
    fs.writeFileSync(filePath, data, 'utf8');
};

// Function to encrypt the content of a file and overwrite it
const encryptFile = (filePath, secretKey) => {
    const plaintext = readFromFile(filePath);
    const encryptedText = encrypt(plaintext, secretKey);
    writeToFile(filePath, encryptedText);
    console.log('Encryption completed. Encrypted text is written to', filePath);
};

// Function to decrypt the content of a file and overwrite it
const decryptFile = (filePath, secretKey) => {
    const encryptedText = readFromFile(filePath);
    const decryptedText = decrypt(encryptedText, secretKey);
    writeToFile(filePath, decryptedText);
    console.log('Decryption completed. Decrypted text is written to', filePath);
};

// Input file path
const inputFilePath = 'input.txt'; // Replace 'input.txt' with the path to your file

// Secret key
const secretKey = 'mySecretKey'; // Replace 'mySecretKey' with your secret key

// Encrypt the content of the file
encryptFile(inputFilePath, secretKey);

// Decrypt the content of the file
decryptFile(inputFilePath, secretKey);

Ensure you replace 'input.txt' with the actual path to your file and 'mySecretKey' with your secret key before executing the code.

Documentation

encrypt(plaintext, secretKey) Encrypts the provided plaintext using the specified secret key.

  • plaintext (string): The text to encrypt.
  • secretKey (string): The secret key for encryption.
  • Returns: The encrypted text (base64-encoded).

decrypt(encryptedText, secretKey) Decrypts the provided encrypted text using the specified secret key.

  • encryptedText (string): The text to decrypt (base64-encoded).
  • secretKey (string): The secret key for decryption.
  • Returns: The decrypted text.

Security Considerations

  • Secret Key: Keep your secret key confidential. Avoid hardcoding it in your code and consider using environment variables for increased security.
  • Key Management: Implement secure key management practices to protect against unauthorized access.
  • Algorithm Updates: Stay informed about cryptographic best practices and algorithm updates to ensure the security of your encrypted data.

Support and Contribution

For bug reports, feature requests, or general inquiries, please create an issue on the GitHub repository.

Contributions are welcome! Fork the repository, make your changes, and submit a pull request.

Acknowledgments

The secure-encrypt package is inspired by the need for a versatile encryption solution with a combination of different techniques.

Keywords

FAQs

Package last updated on 16 Feb 2024

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc