Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thebesttvarynka/crypto-helper
Web app that can hash, encrypt, and sign the data on the client side
https://github.com/thebesttvarynka/crypto-helper
crypto cryptography jwt-decode jwt-decoder rust utilities utility wasm webassembly yew
Last synced: 13 days ago
JSON representation
Web app that can hash, encrypt, and sign the data on the client side
- Host: GitHub
- URL: https://github.com/thebesttvarynka/crypto-helper
- Owner: TheBestTvarynka
- License: mit
- Created: 2022-10-07T20:02:17.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-18T22:14:24.000Z (11 months ago)
- Last Synced: 2023-12-19T05:14:01.265Z (11 months ago)
- Topics: crypto, cryptography, jwt-decode, jwt-decoder, rust, utilities, utility, wasm, webassembly, yew
- Language: Rust
- Homepage: https://crypto.qkation.com
- Size: 1.77 MB
- Stars: 25
- Watchers: 1
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua/)
## crypto-helper
![deploy](https://github.com/TheBestTvarynka/crypto-helper/actions/workflows/github-actions.yml/badge.svg)
Visit this tool at [crypto.qkation.com](https://crypto.qkation.com).
Table of content:
- [crypto-helper](#crypto-helper)
- [Features](#features)
- [Development](#development)
- [Meta](#meta)
- [Contributing](#contributing)![](/public/img/crypto-helper.png)
![](/public/img/jwt.png)
![](/public/img/asn1.png)
![](/public/img/diff.png)The crypto-helper is a web app that helps to work with the different crypto algorithms. This app can hash/hmac, encrypt/decrypt, and sign/verify the data, debug JWT tokens, parse ASN1 structures, compute diffs, and more.
All computations are performed on the client side. _This tool never sends the data to any server._
### Features
* Written in [Rust](https://github.com/rust-lang/rust) :crab: using [yew](https://github.com/yewstack/yew) :sparkles:
* `MD5`
* `Argon2`
* `BCRYPT`
* `SHA1`/`SHA256`/`SHA384`/`SHA512`
* Kerberos ciphers: `AES128-CTS-HMAC-SHA1-96`/`AES256-CTS-HMAC-SHA1-96`
* Kerberos HMAC: `HMAC-SHA1-96-AES128`/`HMAC-SHA1-96-AES256`
* `RSA`
* Compression: `ZLIB`
* JWT debugger. Supported signature algorithms:
* `none`
* `HS256`
* `HS384`
* `HS512`
* `RS256`
* `RS384`
* `RS512`
* `ES256`
* `ES384`
* `ES512`
* ASN1 Debugger
* Diff checkerRead more about features and motivation here: https://tbt.qkation.com/projects/crypto-helper.
### Development
0. Install WebAssembly target: `rustup target add wasm32-unknown-unknown`.
1. Install [`trunk`](https://github.com/thedodd/trunk). [Additional guide](https://yew.rs/docs/next/getting-started/introduction#install-trunk).
2. Set up `APP_HOST` environment variable:
```bash
# Windows
set APP_HOST=
# Linux
export APP_HOST=
# example:
# export APP_HOST=https://crypto-helper.qkation.com
```
This env variable is used for the url generation when you click the *share by url* button.3. Run `trunk serve` in your terminal.
4. Go to http://127.0.0.1:8080 in your browser.### Meta
[Pavlo Myroniuk](https://github.com/TheBestTvarynka) - [[email protected]](mailto:[email protected]).
Distributed under the [MIT](https://github.com/TheBestTvarynka/crypto-helper/blob/main/LICENSE) license.
### Contributing
Feel free to contribute.
1. Fork it ()
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request