{ "info": { "author": "Stephen Tonkin", "author_email": "sptonkin@outlook.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Other Audience", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "fuzzyhashlib\n============\n\n.. contents:: Table of Contents\n\n\nIntroduction\n============\n\nWhat if fuzzy hashing algorithms were usable through a common API,\nthe same way that Python's hashlib exposes secure hash and message digest\nalgorithms? This is the question fuzzyhashlib attempts to answer by providing\na hashlib-like interface to:\n\n- ssdeep (via a Python ctypes wrapper)\n- sdbf (via sdhash's Python swig interface)\n- tlsh (via tlsh's Python C interface)\n\nCurrently supported for Python 2.7 on 32- and 64-bit Ubuntu (Ubuntu 16.04). \n\n\nUsage\n=====\n\nExample usage in iPython is provided below.\n\n::\n\n In [1]: import fuzzyhashlib\n \n In [2]: fuzzyhashlib.ssdeep(\"a\" * 1024).hexdigest()\n Out[2]: '3:tj1:n'\n \n In [3]: fuzzyhashlib.sdhash(\"a\" * 1024).hexdigest()\n Out[3]: 'sdbf:03:0::1024:sha1:256:5:7ff:160:1:0:AAAAAAAAAAAAAAAAAAAAAAAAAAA\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n AAAAAAAAAAAAAAA==\\n'\n\n In [4]: # Comparison example, using subtraction operator.\n \n In [5]: fuzzyhashlib.ssdeep(\"ab\" * 2048) - fuzzyhashlib.ssdeep(\"ab\" * 2048)\n Out[5]: 100\n\n In [6]: # Comparison example, using .compare() method.\n\n In [7]: fuzzyhashlib.ssdeep(\"ab\" * 2048).compare(fuzzyhashlib.ssdeep(\"ab\" * 2048))\n Out[7]: 100\n\n\nChange Log\n==========\n\nVersion 0.0.8 - Improved documentation and class interfaces:\n\n- Improve documentation to include examples of how to do comparisons\n- Adds .compare() method to fuzzyhash objects\n\nVersion 0.0.7 - Add support for tlsh:\n\n- Adds support for tlsh\n\nVersion 0.0.6 - Documentation and error handling:\n\n- documentation adds description of behaviour if buf and hash paramters are provided at initialisation\n- sdhash class raises exception if provided buffer is < 512 bytes in size\n\nVersion 0.0.5 - Imporoved packaging:\n\n- (and the versions in-between) fix packaging so libs install correctly\n\nVersion 0.0.2 - 32-bit libraries for linux:\n\n- libraries installed for x86-32 linux too\n\nVersion 0.0.1 - Initial version:\n\n- ssdeep and sdhash wrapped with hashlib-like interfaces\n- libraries installed for x86-64 linux only\n\n\nLicense and Source Availability\n===============================\n\nThe fuzzyhashlib library and package is licensed under APLv2.\n\nThe information in this section is also provided under fuzzyhashlib's source\ntree under 'NOTICE'.\n\n\nssdeep\n------\nssdeep was written by Jesse Kornblum of the ManTech International\nCorporation, with acknowledged contributions by Jason Sherman and\ntesting by the Computer Science Department at the University of\nIowa. Compiled libraries built from unmodified ssdeep source,\nversion 2.13, are installed as part of this package. The original\nsource code for this version of ssdeep available from:\n http://downloads.sourceforge.net/project/ssdeep/ssdeep-2.13/ssdeep-2.13.tar.gz\n\nssdeep is open source software and is licensed under GPLv2.\n\n\nsdhash\n------\nsdhash was written by Vassil Roussev and Candice Quates. Compiled\nlibraries built from unmodified sdhash source, version 3.4, are\ninstalled are installed as part of this package. The original\nsource code for this version of sdhash is available from:\n http://github.com/sdhash/sdhash\n\nsdhash is open source software and is licensed under APLv2.\n\n\ntlsh\n------\ntlsh was written by Jonathan Oliver, Chun Cheng, Yanggui Chen,\nScott Forman and Jayson Pryde of Trend Micro. Compiled\nlibraries built from unmodified tlsh source, version 3.9.1 (641cb4), are\ninstalled are installed as part of this package. The original\nsource code for this version of tlsh is available from:\n http://github.com/trendmicro/tlsh.git\n\ntlsh is open source software and is licensed under APLv2 and BSDv3.\n\n\nOther Thanks\n============\nThanks to Michael Dorman whose excellent 'yara-ctypes' provided logical layout\nfor a Python ctypes-based project. Several concepts and functions here have\nbeen borrowed accordingly :-)", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sptonkin/fuzzyhashlib", "keywords": "", "license": "Apache Software Licence", "maintainer": "", "maintainer_email": "", "name": "fuzzyhashlib", "package_url": "https://pypi.org/project/fuzzyhashlib/", "platform": "linux", "project_url": "https://pypi.org/project/fuzzyhashlib/", "project_urls": { "Homepage": "https://github.com/sptonkin/fuzzyhashlib" }, "release_url": "https://pypi.org/project/fuzzyhashlib/0.0.8/", "requires_dist": null, "requires_python": "", "summary": "Hashlib-like wrapper for several fuzzy hash algorithms.", "version": "0.0.8" }, "last_serial": 3925389, "releases": { "0.0.3": [], "0.0.4": [ { "comment_text": "", "digests": { "md5": "bffb7aa9cfd57db361cba04f8eae014f", "sha256": "6cdb6c165adaca702c089d07848b79e18cc9912e429ed3c53dce6ea6e81eff7b" }, "downloads": -1, "filename": "fuzzyhashlib-0.0.4.tar.gz", "has_sig": false, "md5_digest": "bffb7aa9cfd57db361cba04f8eae014f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 476149, "upload_time": "2015-08-03T00:09:56", "url": "https://files.pythonhosted.org/packages/a7/41/37618464fed0d6dbc2d4b2f07862aeed41485dc3c0158ac957e4b0833d2b/fuzzyhashlib-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "9e7a75cf96fc4ba63cf4728d2203d7ab", "sha256": "1751a42dbc67d595531b63710ee1afb4ab65a07b93bc7e392001b0470ed2c491" }, "downloads": -1, "filename": "fuzzyhashlib-0.0.5.tar.gz", "has_sig": false, "md5_digest": "9e7a75cf96fc4ba63cf4728d2203d7ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 456827, "upload_time": "2015-08-03T01:16:49", "url": "https://files.pythonhosted.org/packages/5d/76/3321426bf2f9e577cdef83652c94f20ace9cfe013660a07ff9d72fa717f1/fuzzyhashlib-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "e48e08f965078920f38111088bdefbf6", "sha256": "877ef555ae3d5c3c4e0c9205cb5e98f7e358ceadfdbc63461b47497fb003189e" }, "downloads": -1, "filename": "fuzzyhashlib-0.0.6.tar.gz", "has_sig": false, "md5_digest": "e48e08f965078920f38111088bdefbf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 457150, "upload_time": "2015-08-03T01:44:07", "url": "https://files.pythonhosted.org/packages/fb/71/9964853fd69c7397ba92e7ed784724a7c50910b884dcc3f1d4bdd46a9dcb/fuzzyhashlib-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "a63b3e724ebbc22cb77ff445ad03ccd4", "sha256": "3412ac1832265ac2b85e0a6943f690aec4c4d27bcb213a0af74263db5aa464b3" }, "downloads": -1, "filename": "fuzzyhashlib-0.0.7.tar.gz", "has_sig": false, "md5_digest": "a63b3e724ebbc22cb77ff445ad03ccd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487215, "upload_time": "2018-04-01T13:39:51", "url": "https://files.pythonhosted.org/packages/d1/cb/30d28a12ab22263d818b8eeaa8e9962448d46b6f44ea2022d8b005e15113/fuzzyhashlib-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "7e63f71c4afcc5e960a829871b1357da", "sha256": "e6778849820c2a73060b539fa4bb00944733ac0b82101e094c39f42441b8bc8b" }, "downloads": -1, "filename": "fuzzyhashlib-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7e63f71c4afcc5e960a829871b1357da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487083, "upload_time": "2018-06-03T13:25:51", "url": "https://files.pythonhosted.org/packages/9b/95/59b92a6888eea3e0b9cdff3b65d8aec385885d457d11ad8c5eaeda7fdd17/fuzzyhashlib-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7e63f71c4afcc5e960a829871b1357da", "sha256": "e6778849820c2a73060b539fa4bb00944733ac0b82101e094c39f42441b8bc8b" }, "downloads": -1, "filename": "fuzzyhashlib-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7e63f71c4afcc5e960a829871b1357da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487083, "upload_time": "2018-06-03T13:25:51", "url": "https://files.pythonhosted.org/packages/9b/95/59b92a6888eea3e0b9cdff3b65d8aec385885d457d11ad8c5eaeda7fdd17/fuzzyhashlib-0.0.8.tar.gz" } ] }