1.0.3 • Published 2 years ago

@yumiko0828/crypt v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@yumiko0828/crypt

This is a personal module containing some utility functions from node:crypto.

Table of Content

Install

Install with NPM or your favorite package manager (yarn, pnpm, etc).

npm i -E @yumiko0828/crypt

Import

Optionally you can apply object destructuring.

CommonJs:

const Crypt = require("@yumiko0828/crypt");

ESModules:

import * as Crypt from "@yumiko0828/crypt";

Classes

This module provides 2 relevant classes, Cipher and DigSign.

Cipher

Provides data encryption and decryption utilities (an improved version of npm yutil.js@1.0.5).

Basic usage:

import { Cipher } from "@yumiko0828/crypt";

const cipher = new Cipher("your-secret-key-here");

/**
 * Encrypt data:
 */
const salt = Cipher.genSalt(/* default = 16 */);
const encryptedData = cipher.encrypt("Hola mundo!", salt);

console.log(encryptedData);
// Example: b8340697d3ef8c2294515...

/**
 * Decrypt data:
 */
const decryptedData = cipher.decrypt(encryptedData);

console.log(decrypteddata);
// Show: Hola mundo!

DigSign

Provides methods to create and verify digital signatures.

Basic usage:

import { DigSign } from "@yumiko0828/crypt";

// Important!
const { privateKey, publicKey } = await DigSign.genKeyPair();

const digsin = new DigSign({
  privateKey,
  publicKey,
});

/**
 * Generate a digital signature:
 */
const sign = digsin.signData("Hello World!");
console.log(sign);
// Example: 869407afeb6e15c...

/**
 * Verify the digital signature:
 */
const isValidSign = digsin.verifySign("Hello world!", sign);
console.log(isValidSign);
// Show: false (or true)

License

This project uses the MIT license.

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago