Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mystipy

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mystipy

A simple Python data obfuscation utility.

  • 0.7.5
  • Source
  • PyPI
  • Socket score

Maintainers
1

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 --binary override 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:

  • mystipy for obfuscate
  • demystipy for deobfuscate
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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc