@hugoalh/symmetric-crypto

A module to provide an easier symmetric crypto.

Usage no npm install needed!

<script type="module">
  import hugoalhSymmetricCrypto from 'https://cdn.skypack.dev/@hugoalh/symmetric-crypto';
</script>

README

Symmetric Crypto (NodeJS)

SymmetricCrypto.NodeJS GitHub Contributors GitHub Issues GitHub Pull Requests GitHub Discussions GitHub Stars GitHub Forks GitHub Languages CodeFactor Grade LGTM Alerts LGTM Grade License

Release Latest (GitHub Latest Release Date) Pre (GitHub Latest Pre-Release Date)
GitHub GitHub Total Downloads GitHub Latest Release Version GitHub Latest Pre-Release Version
NPM NPM Total Downloads NPM Latest Release Version NPM Latest Pre-Release Version

📝 Description

A NodeJS module to provide an easier symmetric crypto.

This project is inspired from Symencdec (GitHub)(NPM).

Symmetric crypto is a password based encryption and decryption, but this module has some addition improvements.

📚 Documentation

For the official documentation, please visit GitHub Repository Wiki.

Getting Started (Excerpt)

Install

NodeJS (>= v14.15.0) + NPM (>= v6.14.8):

npm install @hugoalh/symmetric-crypto

Use In CommonJS

const symmetricCrypto = require("@hugoalh/symmetric-crypto");

Use In ModuleJS

import * as symmetricCrypto from "@hugoalh/symmetric-crypto";

API (Excerpt)

Class

  • SymmetricCryptor
    • @constructor(passpharse)
    • decrypt(data, times?)
    • decryptMultipleLine(data, times?)
    • encrypt(data, times?)
    • encryptMultipleLine(data, times?)

Function

  • decrypt(data, passphrase, times?)
  • decryptMultipleLine(data, passphrase, times?)
  • encrypt(data, passphrase, times?)
  • encryptMultipleLine(data, passphrase, times?)

Example (Excerpt)

let data = "Hello, world!\nFoo.\nBar.";
let passphrase = "githubnode";
let firstEncrypted = symmetricCrypto.encrypt(data, passphrase);
let secondEncrypted = symmetricCrypto.encryptMultipleLine(data, passphrase);
console.log(firstEncrypted);
// "TIdMOTTeor6q79ilfKkcInvWqQ/U4UUK5oXRSXxWhTbNpL88i/QDly9NFCt1d6JwkDWJ0nkLGKwsWbcA6tM2yg=="

console.log(secondEncrypted);
/*
`LO1uspz3yPXlbDdi20Xk5kYPc06kZO3h0SH6mN+gCI/+xTRpeanWPNat17ufGpxE
NdLVDbUWDAeBK1MdXoO4rIbpBbwiCyaPU0ut8HOCCLXnidGM9EEbevuL8EGjQVSS
nh3fuCzHOXWhtBLHuIZyiz5n9/Om0uPZdHdEikei8ydjnpaVLaCT2p78Uamxc3m1`
*/

let firstDecrypted = symmetricCrypto.decrypt(firstEncrypted, passphrase);
let secondDecrypted = symmetricCrypto.decryptMultipleLine(secondEncrypted, passphrase);
console.log(firstDecrypted);
// "Hello, world!\nFoo.\nBar."

console.log(secondDecrypted);
// "Hello, world!\nFoo.\nBar."