Browser Playground & Interactive way to learn cryptography ๐คฉ. Also supports a client side hashing API.
Hashable is an in-browser playground to experiment and play around with different cryptographic methods and functions.
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 ๐ค.
Show your love, give our repo a star ๐ .
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
You can contact the Developer using my Mail ๐ง
We have licensed this project under MIT.