mystipy
This is an extremely simple command-line utility for obfuscating and deobfuscating data.
Features
- Data is automatically compressed using gzip.
- Customizable encryption key (XOR) and salt size.
- Prompt mode for interactive input.
- Hexadecimal encoding is used on the output by default, but a
--binaryoverride is available.
Installation
The program is a single file, so you can just download/run it manually: python mystipy.py
For the sake of convenience (and to be added to your $PATH), it is also available on PyPI.
pip install --upgrade mystipy
Usage
Basic Commands
-
Obfuscate a file:
mystipy input_file output_file
-
Deobfuscate a file:
mystipy input_file output_file --reverse
Options
-p, --prompt: Prompt mode. If provided, you will be prompted for any arguments you don't explicitly set.-r, --reverse: Deobfuscate the input file.-k, --key: XOR key for encryption/deencryption. Must be a valid byte string. (Default: "mystipy")-s, --salt: Number of bytes to use in salt. (Default: 16)--binary: Disable exadecimal encoding/decoding. The data will be (or is) compressed binary data.
Examples
-
Obfuscate a file with a custom key and default settings:
mystipy myfile.txt obfuscated.myst -k "hunter2"
-
Deobfuscate a binary encoded file:
mystipy obfuscated.myst deobfuscated.txt -r --binary
-
Use prompt mode for interactive input:
mystipy -p -
Use it in your own program:
import mystipy # Define your key and data key = "hunter2".encode() data = b"I would tell you a joke about UDP, but I'm not sure if you'd get it." # Obfuscate the data obfuscated_data = mystipy.obfuscate(data, key) print(f"Obfuscated data: {obfuscated_data}") # Deobfuscate the data deobfuscated_data = mystipy.deobfuscate(obfuscated_data, key) print(f"Deobfuscated data: {deobfuscated_data.decode()}")
Function Aliases
The script includes function aliases to remove ambiguity if you're using it in your own code:
mystipyforobfuscatedemystipyfordeobfuscate
import mystipy
print(mystipy.mystipy == mystipy.obfuscate) # True
print(mystipy.demystipy == mystipy.deobfuscate) # True
So if you'd prefer to use the aliases, you'd import the obfuscation/deobfuscation functions like this:
from mystipy import mystipy, demystipy
Metadata
Release files for mystipy 0.7.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mystipy-0.7.5.tar.gz | 6.1 kB | Without provenance | Details for mystipy-0.7.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mystipy-0.7.5-py3-none-any.whl | Python 3 | none | any | Details for mystipy-0.7.5-py3-none-any.whl |
Total release size: 11.1 kB
Release files / mystipy-0.7.5.tar.gz
| Download URL | mystipy-0.7.5.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef01fc77aa76faffeefcafdba043b20d27b36b2990d09d3f5906aabf4d299ab4
|
|
BLAKE2b-256 checksum How to use checksums |
e83ef731afdd3d2a3823b71b2ebadaa7d85e84e5ddadb443ae5dc0f0143e416c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|
Release files / mystipy-0.7.5-py3-none-any.whl
| Download URL | mystipy-0.7.5-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd568139169b666bd8a44da63912388ebf369a95efd140945f5fec55a499f415
|
|
BLAKE2b-256 checksum How to use checksums |
eb3ddc6bd10c095a47333afb8fc8cc952cc90aa15ac0125e4f833ac1bbe85e16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|
Security for mystipy 0.7.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.