An open-source toolbox for daily cryptography needs which is developed in Python using Streamlit platform.
Encoding/Decoding JWT tokens using different encryption algorithms and parameters.
Generating RSA Private and Public Keys.
Encrypting data using public key and decrypting using private key.
Signing files using RSA private key.
Validating the digital signature using RSA public key. The digital signature has been generated using private key.
Encrypting/Decrypting files using Fernet.
Encoding a file or a text using sha1
, sha224
, sha256
, sha384
, sha512
, sha3_224
, sha3_256
, sha3_384
,
sha3_512
, shake_128
, shake_256
, blake2b
, blake2s
, and md5
.
Encoding/Decoding files/text using Base64.
Time-Based and Counter-Based One-Time Passwords based on Base32 secret.
In order to run this app, you need to install the dependencies first based on
the _environment.yml
or requirements.txt
files. Once the dependencies are installed, run the dashboard using
streamlit
.
streamlit run ./main.py
This application is available on Docker Hub, and it can be run directly using:
docker run -p 80:8501 kavehbc/crypto-tools
Once you run it, you can open it in your browser on http://127.0.0.1.
You can check its live demo here: https://crypto-tools.streamlit.app
This project is open-source, and it is available on Github at https://github.com/kavehbc/crypto-tools.
Kaveh Bakhtiyari - Website | Medium | LinkedIn | GitHub
Feel free to join the open-source community and contribute to this repository.