@elijahjcobb/encryption

An encryption package that provides implementations for hashing, ciphers, and random string generation.

Usage no npm install needed!

<script type="module">
  import elijahjcobbEncryption from 'https://cdn.skypack.dev/@elijahjcobb/encryption';
</script>

README

Encryption

An encryption package that provides implementations for hashing, ciphers, and random string generation.

Classes

Class Description
ECCipher A class that allows encrypting and decrypting Buffer instances with a password and salt.
ECHash A class that allows hashing a buffer using the sha256 algorithm.
ECGenerator A class providing multiple methods to generate random formatted strings.

Import

// Separately
import { ECCipher, ECHash, ECGenerator } from "@elijahjcobb/encryption";
 
// All Together
import ECEncryption = require("@elijahjcobb/encryption");
let cipher: ECEncryption.ECCipher = new ECEncryption.ECCipher();
let hashedData: Buffer = ECEncryption.ECHash.hash();
let rando: string = ECEncryption.ECGenerator.randomId();

Documentation

All declaration files and source code files contain full documentation. However, below are some examples.

Examples

ECCipher

// Import
import { ECCipher } from "@elijahjcobb/encryption";

// Create Cipher
let cipher: ECCipher = new ECCipher("password", "salt-is-optional");

// Any Buffer will do.
let data: Buffer = Buffer.from("Hello, World!", "utf8");

// Encrypting
let encrypted: Buffer = cipher.encrypt(data);

// Decrypting
let decrypted: Buffer = cipher.decrypt(encrypted);

// msg = "Hello, World!
let msg: string = data.toString("utf8");

ECHash

// Import
import { ECHash } from "@elijahjcobb/encryption";

// Any Buffer will do.
let data: Buffer = Buffer.from("Hello, World!", "utf8");

// Hash using sha256.
let hashedData: Buffer = ECHash.hash(data);

ECGenerator

// Import
import { ECGenerator } from "@elijahjcobb/encryption";

// Generate a random string of just numbers with length 6.
let code: string = ECGenerator.randomCode();

// Generates random string with letters and numbers of length 8.
let fileName: string = ECGenerator.randomFileName();

// Generates random string with lowercase letters and numbers of length 32.
let salt: string = ECGenerator.randomSalt();

// Generates a random string with specified characters of a specified length.
let length: number = 100;
let chars: string = "qwertyuiopasdfghjklzxcvbnm";
let rando: string = ECGenerator.randomString(length, chars);

TypeScript

All classes contain TypeScript declaration files. You can also view all the source code or declaration files on GitHub. Each class in the table above links directly to it's declaration file.

Bugs

If you find any bugs please create an issue on GitHub or if you are old fashioned email me at elijah@elijahcobb.com.