{ "info": { "author": "Jarrod C. Taylor", "author_email": "jarrod.c.taylor@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries" ], "description": "Steganopy\r\n=========\r\n\r\n|Build Status|\r\n\r\nSteganography is the art and science of writing hidden messages in such\r\na way that no one, apart from the sender and intended recipient,\r\nsuspects the existence of the message. The word steganography is of\r\nGreek origin and means \"concealed writing\".\r\n\r\nSteganopy is a steganographic tool written in Python. It comes with a\r\nhandy gui and an easy to use api so that it can be integrated into your\r\nPython projects. Steganopy allows you to encode data into any PNG image\r\nwith an RGB or RGBA format.\r\n\r\nFiles are encoded into PNG images using the least significant bit\r\nmodification method. As long as your original image is sufficiently\r\nlarge enough to hold the data to be encode any type of file could be\r\nconcealed within an image (Text files, other images, etc). A password\r\ncan optionally be supplied to encrypt data prior to encoding for a truly\r\nunbreakable level of protection.\r\n\r\nInstallation\r\n============\r\n\r\n``pip install steganopy``\r\n\r\nUsage\r\n=====\r\n\r\nYou have two ways to use steganopy\r\n\r\nGUI\r\n---\r\n\r\nUse the gui by simply issuing the command ``steganopy`` will now be able to use\r\nthe gui to encode data into PNG images as well as extract data from\r\nsteganographic images\r\n\r\nIn a Python program\r\n-------------------\r\n\r\nThe api offers two functions to call from within your python programs.\r\n*NOTE* The cipher key is optional but if you use one to encode your data\r\nyou will have to use the same one again to extract that data.\r\n\r\nEncode data\r\n~~~~~~~~~~~\r\n\r\n.. code:: python\r\n\r\n from os.path import sep, expanduser\r\n\r\n from steganopy.api import create_stegano_image\r\n\r\n output_dir = sep.join([expanduser('~'), \"Downloads\"])\r\n stegano_image = create_stegano_image(\r\n original_image=sep.join([expanduser('~'), \"Downloads\", \"cover_image.png\"]),\r\n data_to_hide=sep.join([expanduser('~'), \"doc_to_hide.txt\"]),\r\n cipher_key=\"JarrodCTaylor\"\r\n )\r\n\r\n stegano_image.save(sep.join([expanduser('~'), \"Downloads\", \"stegano_image.png\"]))\r\n\r\nExtract data\r\n~~~~~~~~~~~~\r\n\r\n.. code:: python\r\n\r\n from os.path import sep, expanduser\r\n\r\n from steganopy.api import extract_data_from_stegano_image\r\n\r\n extracted_data = extract_data_from_stegano_image(\r\n image=sep.join([expanduser('~'), \"Downloads\", \"stegano_image.png\"]),\r\n cipher_key=\"JarrodCTaylor\"\r\n )\r\n\r\n with open(sep.join([expanduser('~'), \"Downloads\", \"extracted_content.txt\"]), \"w\") as f:\r\n f.write(extracted_data)\r\n\r\n.. |BUILD Status| image:: https://travis-ci.org/JarrodCTaylor/steganopy.png?branch=master\r\n :target: https://travis-ci.org/JarrodCTaylor/steganopy", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/JarrodCTaylor/steganopy", "keywords": "", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "steganopy", "package_url": "https://pypi.org/project/steganopy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/steganopy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/JarrodCTaylor/steganopy" }, "release_url": "https://pypi.org/project/steganopy/0.0.1/", "requires_dist": null, "requires_python": null, "summary": "A steganography tool written in Python", "version": "0.0.1" }, "last_serial": 973304, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "345d1d5381349ed7c77227e1b951c114", "sha256": "458bdef4fbf410e0db3eae71d7bfa33e2814d1268630655414707cb8f7a2d02d" }, "downloads": -1, "filename": "steganopy-0.0.1.tar.gz", "has_sig": false, "md5_digest": "345d1d5381349ed7c77227e1b951c114", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18849, "upload_time": "2014-01-18T04:42:15", "url": "https://files.pythonhosted.org/packages/33/93/ca903fc637605e5103a91383725d38846c554efd2a96c6fb98ee94dd2ea0/steganopy-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "345d1d5381349ed7c77227e1b951c114", "sha256": "458bdef4fbf410e0db3eae71d7bfa33e2814d1268630655414707cb8f7a2d02d" }, "downloads": -1, "filename": "steganopy-0.0.1.tar.gz", "has_sig": false, "md5_digest": "345d1d5381349ed7c77227e1b951c114", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18849, "upload_time": "2014-01-18T04:42:15", "url": "https://files.pythonhosted.org/packages/33/93/ca903fc637605e5103a91383725d38846c554efd2a96c6fb98ee94dd2ea0/steganopy-0.0.1.tar.gz" } ] }