https://github.com/haneenmahd/hashable
A Client-Side Gateway for users to interact play and test with cryptography π€©
https://github.com/haneenmahd/hashable
api-gateway client-side-cryptography cryptography gateway hashing hashing-in-js server
Last synced: 12 months ago
JSON representation
A Client-Side Gateway for users to interact play and test with cryptography π€©
- Host: GitHub
- URL: https://github.com/haneenmahd/hashable
- Owner: haneenmahd
- License: mit
- Created: 2021-12-27T13:56:01.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-17T22:40:21.000Z (over 2 years ago)
- Last Synced: 2025-05-30T08:15:40.689Z (about 1 year ago)
- Topics: api-gateway, client-side-cryptography, cryptography, gateway, hashing, hashing-in-js, server
- Language: TypeScript
- Homepage: https://hashable.space
- Size: 1.8 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Hashable
Browser Playground & Interactive way to learn cryptography π€©. Also supports a client side hashing API.
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.
```js
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`](https://github.com/haneenmahd/hashable/tree/master/api).
Get Examples for:
- [Ruby π](https://github.com/haneenmahd/hashable/tree/master/examples/ruby)
- [Swift π¦
](https://github.com/haneenmahd/hashable/tree/master/examples/swift)
- [ReactJS π
](https://github.com/haneenmahd/hashable/tree/master/examples/react-js)
- [VanillaJS π¦](https://github.com/haneenmahd/hashable/tree/master/examples/client-side-js)
Get complete examples [here π€](https://github.com/haneenmahd/hashable/tree/master/examples).
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](https://npmjs.org))
- Git
Clone the repo using `Git`:
```sh
git clone https://github.com/haneenmahd/hashable.git
```
Create and set a branch name:
```sh
git branch
git checkout
```
Install Packages π¦
```sh
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:
```sh
cd api
npm run build
```
Linting the API's codebase:
```sh
cd api
npm run lint
```
If you wanna build and start the server from scratch, run this instead:
```sh
cd api
npm run build:start
```
To start the server from the current built folder.
```sh
cd api
npm run start
```
Cleaning build files:
```sh
cd api
npm run clean
```
Running server tests
```sh
npm run test
```
Linting Code inside web
```sh
cd web
npm run lint
```
Contactπ¬
You can contact the Developer using my Mail π§
License π
We have licensed this project under MIT.