Metadata-Version: 2.1
Name: hb
Version: 1.2.0
Summary: A simple command-line utility for calculating checksums.
Home-page: https://github.com/chingc/Hash-Brown
License: MIT
Keywords: checksum,digest,hash,md5,sha1
Author: Ching Chow
Author-email: ching.chow.sc@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Security
Classifier: Topic :: System :: Archiving
Classifier: Topic :: Utilities
Requires-Dist: click (>=6.7,<7.0)
Description-Content-Type: text/markdown

# Hash Brown

[![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/)

A simple command-line utility for calculating checksums.

## Install

```
pip install hb
```

## Usage

Calculate the sha1 of a file:

```
$ hb -a sha1 hello.txt
sha1 (hello.txt) = 493a253abf93d705d67edeb463134a5c8752fc9d
```

Check to see if file matches a given checksum:

```
$ hb -a md5 hello.txt -g 77060c267470021a97392b815138733e
md5 (hello.txt) = 77060c267470021a97392b815138733e OK

$ hb -a md5 hello.txt -g 0123456789abcdef
md5 (hello.txt) = 0123456789abcdef ACTUAL: 77060c267470021a97392b815138733e
```

Checksums can be read from a file:

```
$ hb -c checksums.txt
sha512 (hello.txt) = 493a253abf93d705d67edeb463134a5c8752fc9d OK
sha512 (world.txt) = 683e4ee04e75e71a6dca42807001f00be1fcb2a3 OK
sha512 (image.jpg) = f3a53e6c2743645f08faedadd7a2c57cbc38632f OK
sha512 (video.mp4) = 03ba9191fc4cd74f218df58542643fbc07dca532 OK
```

Hash Brown outputs its results in BSD style.  The checksum files are also BSD style.

All files are read in binary mode.

Globbing and recursive globbing are supported via `*` and `**` respectively.

Dotfiles are not included when globbing and need to be specified explicitly.

## Options

```
-a, --algorithm [blake2b|blake2s|md5|sha1|sha224|sha256|sha384|sha512|adler32|crc32]
-c, --check                     Read checksums from a file.
-g, --given TEXT                See if the given checksum `TEXT` matches the
                                computed checksum. (use with -a)
--version                       Show the version and exit.
-h, --help                      Show this message and exit.
```

