Skip to content

A Client-Side Gateway for users to interact play and test with cryptography ๐Ÿคฉ

License

Notifications You must be signed in to change notification settings

haneenmahd/hashable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Hashable Hashable Icon

Build Server Status Badge Test Server Badge Hashable Latest Release Hashable Latest Release Hashable Latest Release

Browser Playground & Interactive way to learn cryptography ๐Ÿคฉ. Also supports a client side hashing API.

Screenshot 2022-01-02 at 11 46 01 PM

What is Hashable?

Hashable is an in-browser playground to experiment and play around with different cryptographic methods and functions.

REST API ๐Ÿ› 

Our Rest API is a simple implementation of generating hashes through a get request.

Here is on example using Javascript, which represents a simple program that hashes a string in sha256.

const axios = require("axios");

const reqUrl = "https://hashable-api.herokuapp.com";

// string going to be hashed
const str = "HelloWorld";
// hashing method like "md5"
const method = "sha256";
// encoding method like "base64", "base64url"
const encoding = "hex";

axios
  .get(`${reqUrl}/hash?algorithm=${method}&str=${str}&encoding=${encoding}`)
  .then((res) => res.data)
  .catch((err) => console.log(err));

See more about our API documentation at /api.

Get Examples for:

Get complete examples here ๐Ÿค“.

Support โค๏ธ

Show your love, give our repo a star ๐ŸŒŸ .

Building our Project ๐Ÿ—

Follow these steps to build and development our project.

First of all, we recommend having Node.js of version 14 or higher. Download Node.js Here ๐Ÿ“‘

  • Node.js
  • Typescript (using npm)
  • Git

Clone the repo using Git:

git clone https://github.com/haneenmahd/hashable.git

Create and set a branch name:

git branch <your-branch-name>
git checkout <your-branch-name>

Install Packages ๐Ÿ“ฆ

sh scripts/install.sh

Continue working with our repo ๐Ÿ˜„.

For ease of development purposes, you can use this command to open up development server and build according to changes.

cd api
npm run dev

Run this script to build the API:

cd api
npm run build

Linting the API's codebase:

cd api
npm run lint

If you wanna build and start the server from scratch, run this instead:

cd api
npm run build:start

To start the server from the current built folder.

cd api
npm run start

Cleaning build files:

cd api
npm run clean

Running server tests

npm run test

Linting Code inside web

cd web
npm run lint

Contact๐Ÿ’ฌ

You can contact the Developer using my Mail ๐Ÿ“ง

License ๐Ÿ“‘

We have licensed this project under MIT.