Skip to content

A simple and secure encryption and decryption service using AES-256-CTR and HMAC-SHA512.

License

Notifications You must be signed in to change notification settings

imirfanul/secure-encryption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

secure-encryption

npm version license

A simple and secure encryption and decryption service using AES-256-CTR and HMAC-SHA512.

Installation

Install the package via npm:

npm install @imirfanul/secure-encryption

Usage

Importing the Package

Import the CryptoService class in your TypeScript or JavaScript file:

import CryptoService from '@imirfanul/secure-encryption';

Environment Variables

Ensure you have the following environment variables set:

  • CRYPTO_SERVICE_KEY: Base64 encoded 32-byte encryption key.
  • CRYPTO_SERVICE_MAC_KEY: Base64 encoded 32-byte MAC key.

Encrypting Text

To encrypt plaintext:

const plainText = 'Hello, World!';
const encryptedText = CryptoService.encrypt(plainText);
console.log('Encrypted Text:', encryptedText);

Decrypting Text

To decrypt encrypted text:

const decryptedText = CryptoService.decrypt(encryptedText);
console.log('Decrypted Text:', decryptedText);

Example

Here's a complete example:

import CryptoService from '@imirfanul/secure-encryption';

process.env.CRYPTO_SERVICE_KEY = 'your_base64_encoded_32_byte_encryption_key';
process.env.CRYPTO_SERVICE_MAC_KEY = 'your_base64_encoded_32_byte_mac_key';

const plainText = 'Hello, World!';

// Encrypt the plaintext
const encryptedText = CryptoService.encrypt(plainText);
console.log('Encrypted Text:', encryptedText);

// Decrypt the encrypted text
const decryptedText = CryptoService.decrypt(encryptedText);
console.log('Decrypted Text:', decryptedText);

API

encrypt(plaintext: string): string

Encrypts the given plaintext using the encryption key and MAC key.

  • Parameters:
    • plaintext (string): The text to be encrypted.
  • Returns:
    • string: The base64 encoded encrypted text.

decrypt(message: string): string

Decrypts the given encrypted message using the encryption key and MAC key.

  • Parameters:
    • message (string): The base64 encoded encrypted text.
  • Returns:
    • string: The decrypted plaintext.

License

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

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any changes.

Acknowledgments

Inspired by various encryption tutorials and documentation.

About

A simple and secure encryption and decryption service using AES-256-CTR and HMAC-SHA512.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published