{ "info": { "author": "Gabriel Bordeaux", "author_email": "pypi@gab.lc", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: Security" ], "description": "# shachange: Change an image sha signature\n\n[![Build Status](https://travis-ci.org/gabfl/shachange.svg?branch=master)](https://travis-ci.org/gabfl/shachange)\n\n`shachange` is a very simple Python program designed to change the signature of an image (sha1, sha256, md5...) in order to fool computer programs designed to identify unique images based on their signatures.\n\nThe modification in the image is virtually impossible to see for a human but computers programs will see the image as a different one.\n\n## How does it work?\n\n - A single pixel is slightly modified: it will change the image signature and will be virtually indistinctible for a human\n - For improved security, meta data are removed\n\n## Demo\n\n![Demo](https://github.com/gabfl/shachange/blob/master/img/demo.gif?raw=true)\n\n## Installation\n\n```\npip3 install shachange\n```\n\n## Usage\n\n```\nshachange --file 'image.jpg'\nCurrent file signature: f482afa0a6d9fa0023df7c35c978b5ccd59e3904 -> from image.jpg\n New file signature: a53d273986cb08f5135835744397f2c05e61bc37 -> saved to image_2.jpg\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gabfl/shachange", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "shachange", "package_url": "https://pypi.org/project/shachange/", "platform": "", "project_url": "https://pypi.org/project/shachange/", "project_urls": { "Homepage": "https://github.com/gabfl/shachange" }, "release_url": "https://pypi.org/project/shachange/1.2/", "requires_dist": [ "argparse", "pillow" ], "requires_python": "", "summary": "Change an image sha signature", "version": "1.2" }, "last_serial": 3896236, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "203ce662c8380d373136a7c8660adbfd", "sha256": "5b338aa0a98d0f83b5791205ab6d126d3bfff9571971b837f4701c1a8ebd397f" }, "downloads": -1, "filename": "shachange-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "203ce662c8380d373136a7c8660adbfd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5141, "upload_time": "2017-07-23T00:10:17", "url": "https://files.pythonhosted.org/packages/1f/a4/dcdb59747f15da26d3aae09e2960c189a1d9ff2d4b2d2db9f7c39838babb/shachange-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51f5ef0695b1710f32e1883630120e36", "sha256": "8b09fcf585c2ad9a71f48c2d5f6792be5151dabcce2eba3ab26588024434a5df" }, "downloads": -1, "filename": "shachange-1.0.tar.gz", "has_sig": false, "md5_digest": "51f5ef0695b1710f32e1883630120e36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3079, "upload_time": "2017-07-23T00:10:19", "url": "https://files.pythonhosted.org/packages/41/ab/908d11243ad045579bd1de2755f0247942a2a4ffc35dd31fe1f626335659/shachange-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "a3095f74f01874de9c20b55dc3a64d7c", "sha256": "9a0e2fba3162090e05728720a01744d7bcf1f6d5d8c13402fd340e7b752f5c44" }, "downloads": -1, "filename": "shachange-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3095f74f01874de9c20b55dc3a64d7c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5288, "upload_time": "2017-07-25T00:56:58", "url": "https://files.pythonhosted.org/packages/53/89/a6ba731618a4c097110983a13ba7b43699ab6f42a3189171b1083bf2796f/shachange-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f6a523821a86188fdf12cf43f23fcc5", "sha256": "cb1aae0932909a6fd184db722c25f7c5d52b9600c081f525f89ea51a24fc4321" }, "downloads": -1, "filename": "shachange-1.1.tar.gz", "has_sig": false, "md5_digest": "0f6a523821a86188fdf12cf43f23fcc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3167, "upload_time": "2017-07-25T00:56:59", "url": "https://files.pythonhosted.org/packages/96/e6/97836e75256adc0f38d90ebaffdcafe6df952b18599054da773a42576f64/shachange-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "17e31773b5636838f089a777d0c8348e", "sha256": "a9fab0d8adf50736b6f8d4a77879cf1e7e0149d724cfb7213437b01405b85d94" }, "downloads": -1, "filename": "shachange-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17e31773b5636838f089a777d0c8348e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5451, "upload_time": "2018-05-24T18:33:47", "url": "https://files.pythonhosted.org/packages/c3/39/84d559ceb3160be4620959fb84000066c5ab0d00975096cc1ca4c2400448/shachange-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdb5678534074455ea4c2237b361b2c2", "sha256": "47470299cafdebe7a6a5f9a764f4bada3e4effae44e12355c205b30cbe751a2c" }, "downloads": -1, "filename": "shachange-1.2.tar.gz", "has_sig": false, "md5_digest": "cdb5678534074455ea4c2237b361b2c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3342, "upload_time": "2018-05-24T18:33:48", "url": "https://files.pythonhosted.org/packages/41/ce/a56ace3261e241f1d7e695f1475cf73fbcb2f3785d20579e71d49b0cdfc9/shachange-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17e31773b5636838f089a777d0c8348e", "sha256": "a9fab0d8adf50736b6f8d4a77879cf1e7e0149d724cfb7213437b01405b85d94" }, "downloads": -1, "filename": "shachange-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17e31773b5636838f089a777d0c8348e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5451, "upload_time": "2018-05-24T18:33:47", "url": "https://files.pythonhosted.org/packages/c3/39/84d559ceb3160be4620959fb84000066c5ab0d00975096cc1ca4c2400448/shachange-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdb5678534074455ea4c2237b361b2c2", "sha256": "47470299cafdebe7a6a5f9a764f4bada3e4effae44e12355c205b30cbe751a2c" }, "downloads": -1, "filename": "shachange-1.2.tar.gz", "has_sig": false, "md5_digest": "cdb5678534074455ea4c2237b361b2c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3342, "upload_time": "2018-05-24T18:33:48", "url": "https://files.pythonhosted.org/packages/41/ce/a56ace3261e241f1d7e695f1475cf73fbcb2f3785d20579e71d49b0cdfc9/shachange-1.2.tar.gz" } ] }