/cryptocipher

[Library] Simplified Node.js Encryption, Hashing, and HMAC. Featuring security & policy by design to ensure strong standards for development of your services.

Primary LanguageTypeScriptMIT LicenseMIT


Logo

CryptoCipher

Simplified Node.js Encryption, Hashing, and HMAC. Featuring security & policy by design to ensure strong standards for the development of your services.

Explore our Documentation »

Report Bug . Request Feature

Contributors Forks Stargazers Issues License

Table Of Contents

About The Project

Powerful and native Node.js Encryption, Hashing, and HMAC assistant. Designed to be 0-dependencies while enforcing best-in-class encryption by default, even for beginners and small teams.

Join our Community Discord Server for real-time support and developer feedback.

Built With

The latest and greatest up-to-date technologies allow us to ensure that your project flows unhindered by upstream dependencies. With full strict testing protocol and release cycles, you can entrust your reliance on our technology stacks. All projects utilize the MERN stack and TypeScript where possible.

Getting Started

Getting started with any of our libraries is extremely easy! Just download the library from npm or even build it from source right with npm. You just plug it in and get to work.

Prerequisites

You'll obviously need the starting components of your project. This guide assumes that you already have an underlying project with Node.js installed and npm ready to use.

This package is officially compatible with Node.js v16.0.0 or higher, and NPM v7.24.2 or higher. Earlier versions of each may work, but are not officially supported and will not be delved into deeply for support should issues arise.

Installation

  1. Install the package via npm or even directly from GitHub.

    # Install from npmjs.org.
    > npm install cryptocipher
    
    # Install from github.com and build from source. This method allows you to target commits, which is recommended for production pinning.
    > npm install git+https://github.com/amethyst-studio/cryptocipher
  2. require or import the package in the method used by your language. Below are examples of both methods.

    const { getCipher, getHasher, getHmac } = require('cryptocipher');
    import { getCipher, getHasher, getHmac } from 'cryptocipher';

Usage

For examples of usage, please refer to the Documentation or GitHub Wiki.

If you need more assistance, please open a Discussion to chat with us or join our Community Discord Server for real-time support.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are absolutely appreciated.

If you have suggestions for adding or removing from the project, please open a discussion with us first to ensure the scope of the project is upheld. If you want to work on an issue, look for the "State: Help Wanted" label and leave a comment saying you are going to try and take it on!

Some tips for the smooth flow of contribution:

  1. Take a look at our Code of Conduct and Contributing Guidelines before starting to make your contributions. This will help smooth the workflow and adjustments needed to submitted contributions.
  2. Please make sure you check your spelling and grammar and ensure that your code is clean and formatted to the project standard (Airbnb).
  3. Ensure that you create an individual pull request for each suggestion. Lumping large changes together will require you to rework them into individual changes.

Creating A Pull Request

  1. Create a fork of the project.
  2. Check into your feature, fix, or refactor branch. The /issue_id is optional if no issue is related to this branch's work.
    1. git checkout -b feat/username/issue_id
    2. git checkout -b fix/username/issue_id
    3. git checkout -b refactor/username/issue_id
  3. Commit your changes incrementally, or as a single commit. Incremental commits are preferred for reviewability.
    1. git commit -m "feat: some new feature"
    2. git commit -m "fix: fixed some issue"
  4. Push to the branch you are working in.
    1. git push origin <branch_name_from_above>

Finally, open a pull request and fill out the supplied template. After that, one of our contributors will review or approve your changes. Following that, your contribution will land in a later commit once a release window is ready. Usually, this is within 5 days of the contribution being officially accepted.

License

Distributed under the MIT License. See LICENSE for more information.

Authors

  • Samuel Voeller - Organization Owner - Samuel Voeller - Initial Champion / Planner

Acknowledgements