{ "info": { "author": "Ching Chow", "author_email": "ching.chow.sc@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Security", "Topic :: System :: Archiving", "Topic :: Utilities" ], "description": "# Hash Brown\n\n[![CircleCI](https://circleci.com/gh/chingc/Hash-Brown.svg?style=shield)](https://circleci.com/gh/chingc/workflows/Hash-Brown) [![codecov](https://codecov.io/gh/chingc/Hash-Brown/branch/master/graph/badge.svg)](https://codecov.io/gh/chingc/Hash-Brown) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) [![PyPI](https://img.shields.io/pypi/v/hb.svg)](https://pypi.org/project/hb/)\n\nA simple command-line utility for calculating checksums.\n\n## Install\n\n```\npip install hb\n```\n\n## Usage\n\nCalculate the sha1 of a file:\n\n```\n$ hb -a sha1 hello.txt\nsha1 (hello.txt) = 493a253abf93d705d67edeb463134a5c8752fc9d\n```\n\nCheck to see if file matches a given checksum:\n\n```\n$ hb -a md5 hello.txt -g 77060c267470021a97392b815138733e\nmd5 (hello.txt) = 77060c267470021a97392b815138733e OK\n\n$ hb -a md5 hello.txt -g 0123456789abcdef\nmd5 (hello.txt) = 0123456789abcdef BAD\n```\n\nChecksums can be read from a file:\n\n```\n$ hb -c checksums.txt\nsha512 (hello.txt) = 493a253abf93d705d67edeb463134a5c8752fc9d OK\nsha512 (world.txt) = 683e4ee04e75e71a6dca42807001f00be1fcb2a3 OK\nsha512 (image.jpg) = f3a53e6c2743645f08faedadd7a2c57cbc38632f OK\nsha512 (video.mp4) = 03ba9191fc4cd74f218df58542643fbc07dca532 OK\n```\n\nHash Brown outputs its results in BSD style. The checksum files are also BSD style.\n\nAll files are read in binary mode.\n\nGlobbing and recursive globbing are supported via `*` and `**` respectively.\n\nDotfiles are not included when globbing and need to be specified explicitly.\n\n## Options\n\n```\n-a, --algorithm [blake2b|blake2s|md5|sha1|sha224|sha256|sha384|sha512|adler32|crc32]\n-c, --check Read checksums from a file.\n-g, --given TEXT See if the given checksum `TEXT` matches the\n computed checksum. (use with -a)\n-p, --parallel Process files in parallel.\n-q, --quiet Hide results that are OK. (use with -c)\n-t, --timer Display elapsed time in seconds.\n--version Show the version and exit.\n-h, --help Show this message and exit.\n```\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chingc/Hash-Brown", "keywords": "checksum,digest,hash,md5,sha1", "license": "MIT", "maintainer": "Ching Chow", "maintainer_email": "ching.chow.sc@gmail.com", "name": "hb", "package_url": "https://pypi.org/project/hb/", "platform": "", "project_url": "https://pypi.org/project/hb/", "project_urls": { "Documentation": "https://github.com/chingc/Hash-Brown", "Homepage": "https://github.com/chingc/Hash-Brown", "Repository": "https://github.com/chingc/Hash-Brown" }, "release_url": "https://pypi.org/project/hb/1.4.2/", "requires_dist": [ "click (>=7.0,<8.0)", "colorama (>=0.4.0,<0.5.0)" ], "requires_python": ">=3.6,<4.0", "summary": "A simple command-line utility for calculating checksums.", "version": "1.4.2" }, "last_serial": 4446772, "releases": { "1.1.1": [ { "comment_text": "", "digests": { "md5": "f12ba6f6f188a977e77c8a55af569da0", "sha256": "91cfeac3e15bedf354af0b422ff991a2bad447aab678a49d07af98c42af4b908" }, "downloads": -1, "filename": "hb-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f12ba6f6f188a977e77c8a55af569da0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 10267, "upload_time": "2018-07-25T17:55:05", "url": "https://files.pythonhosted.org/packages/45/dc/0ada8f844d89143a8836dafc0b18508dd86bf5d7ead8f6e2637cd671fc63/hb-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bf65bf9e9965b022021203366f5e1f3", "sha256": "0e24b7286daddc983e803a4ff7941136235767b6fa88c51b5550b5420ccf36af" }, "downloads": -1, "filename": "hb-1.1.1.tar.gz", "has_sig": false, "md5_digest": "4bf65bf9e9965b022021203366f5e1f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5025, "upload_time": "2018-07-25T17:55:06", "url": "https://files.pythonhosted.org/packages/cb/9c/83acb4122156b910b737f7c4dcff6e2d5f3e1a06f1e99d3a6e096a24d224/hb-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "9c3f8584c516504b2dde005ce083922d", "sha256": "79856fe71435a6835cba509f3dc6178ab6976b5edb436c9f1d3eb2afe15b8d65" }, "downloads": -1, "filename": "hb-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c3f8584c516504b2dde005ce083922d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 10949, "upload_time": "2018-07-30T23:43:32", "url": "https://files.pythonhosted.org/packages/dd/b3/0e0045d455247938156186830201145cd038bd1931567094b4ac28ea715e/hb-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5da1f8bc2eed38e0d1703778d65cd75d", "sha256": "e58303d3718c1c6f58f44c53678d3179c7a6d2ade15f630f8a235db643f99aa9" }, "downloads": -1, "filename": "hb-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5da1f8bc2eed38e0d1703778d65cd75d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5177, "upload_time": "2018-07-30T23:43:33", "url": "https://files.pythonhosted.org/packages/fc/81/70a94e3f20e28abddfcacfd2002be0cbc6f3b5b456c848d3d603e9a1f780/hb-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "69ac8a21d2df9ff8d3c5776ae0286e58", "sha256": "0166878b1e2d14a1ece6314e613bec0f00363d77f6c7f31c6926f5599b67b031" }, "downloads": -1, "filename": "hb-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "69ac8a21d2df9ff8d3c5776ae0286e58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 11265, "upload_time": "2018-07-31T19:21:04", "url": "https://files.pythonhosted.org/packages/29/0a/fac1ec803604a8d592e01d2fc9250fe68a0ba500fcda005395977c83199d/hb-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bdbe593f0f3bbd95d735ab098d04991", "sha256": "e9fcdde770008474fcd1913c9e05bba12d9a4de930cd5ba0ad75381eb7240bec" }, "downloads": -1, "filename": "hb-1.3.0.tar.gz", "has_sig": false, "md5_digest": "1bdbe593f0f3bbd95d735ab098d04991", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5330, "upload_time": "2018-07-31T19:21:05", "url": "https://files.pythonhosted.org/packages/4f/16/1f6226696d32119f354a563ba1de9bd72eca7430dfcb8bcefe0ecdc0188f/hb-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "d2fb50eb5cbaf75189c61ada504ad9eb", "sha256": "92c671cd7e2de617b1a4c0baff595f667d05996b1b22eaa1653e952b9d195c77" }, "downloads": -1, "filename": "hb-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d2fb50eb5cbaf75189c61ada504ad9eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 11530, "upload_time": "2018-08-01T16:45:02", "url": "https://files.pythonhosted.org/packages/18/68/2e270a468516fd7250e6567038974e3aa6c61a648d0e73fde98fa6883e37/hb-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28c472e6a30ca4e89fa69854104220cc", "sha256": "a105a2cf17c425dba0ae10cd7ceb82a0309140c90aea2e1ec5974d4dd51caf05" }, "downloads": -1, "filename": "hb-1.4.0.tar.gz", "has_sig": false, "md5_digest": "28c472e6a30ca4e89fa69854104220cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5440, "upload_time": "2018-08-01T16:45:03", "url": "https://files.pythonhosted.org/packages/0f/93/c1908229d4b697c6009c6607cfc572eff5ef1ff7fbc1ca2b77cf7217b7fe/hb-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "28d6e553ca26c5f935c31f3b4204245a", "sha256": "bd262401c8cffce1568b2bf315e77ab401cddc92ab7b9df9d27a82741cce27a6" }, "downloads": -1, "filename": "hb-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "28d6e553ca26c5f935c31f3b4204245a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 11884, "upload_time": "2018-08-02T20:58:22", "url": "https://files.pythonhosted.org/packages/00/18/5094a28270f30049c55321b50a689da026a70f086028d7300b8c9995b7c6/hb-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1355a108473d21b34a2d40e3ab8f79eb", "sha256": "9a1d74ab72a09de33c84300f0fc58b947516c2f8c3a154eef9d99f9cdb1b9d36" }, "downloads": -1, "filename": "hb-1.4.1.tar.gz", "has_sig": false, "md5_digest": "1355a108473d21b34a2d40e3ab8f79eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5548, "upload_time": "2018-08-02T20:58:23", "url": "https://files.pythonhosted.org/packages/21/04/22fa8d1776d634a2b8adfac07cf7e01023f69ec84ab0ee6bc340bfc991c1/hb-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "36aaecae68ef8a17ea3431f31a50ba6b", "sha256": "eaf6f9a73c881d0884e7aba79e1ba104db910840eef671bfd2db81a3b4aa95b2" }, "downloads": -1, "filename": "hb-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "36aaecae68ef8a17ea3431f31a50ba6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 11871, "upload_time": "2018-11-03T05:06:35", "url": "https://files.pythonhosted.org/packages/14/ee/f8d2ab1987708f5187bc76ce88b88304d73b983721258eba028701a537b6/hb-1.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40a96de2e8bfca40c8b3557c8d28aafc", "sha256": "72441a6d8dd3b8b6781d2abf1c60fc00c755e805fe2c22ed95d1453657807c69" }, "downloads": -1, "filename": "hb-1.4.2.tar.gz", "has_sig": false, "md5_digest": "40a96de2e8bfca40c8b3557c8d28aafc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5638, "upload_time": "2018-11-03T05:06:36", "url": "https://files.pythonhosted.org/packages/f8/33/5db3b31c3c8dcc2d6d87848576a72d8094596be243ce1140a215df302781/hb-1.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "36aaecae68ef8a17ea3431f31a50ba6b", "sha256": "eaf6f9a73c881d0884e7aba79e1ba104db910840eef671bfd2db81a3b4aa95b2" }, "downloads": -1, "filename": "hb-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "36aaecae68ef8a17ea3431f31a50ba6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 11871, "upload_time": "2018-11-03T05:06:35", "url": "https://files.pythonhosted.org/packages/14/ee/f8d2ab1987708f5187bc76ce88b88304d73b983721258eba028701a537b6/hb-1.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40a96de2e8bfca40c8b3557c8d28aafc", "sha256": "72441a6d8dd3b8b6781d2abf1c60fc00c755e805fe2c22ed95d1453657807c69" }, "downloads": -1, "filename": "hb-1.4.2.tar.gz", "has_sig": false, "md5_digest": "40a96de2e8bfca40c8b3557c8d28aafc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5638, "upload_time": "2018-11-03T05:06:36", "url": "https://files.pythonhosted.org/packages/f8/33/5db3b31c3c8dcc2d6d87848576a72d8094596be243ce1140a215df302781/hb-1.4.2.tar.gz" } ] }