{"id":44358861,"url":"https://github.com/hashsumr/hashsumr","last_synced_at":"2026-03-03T06:02:08.223Z","repository":{"id":331701670,"uuid":"1127283782","full_name":"hashsumr/hashsumr","owner":"hashsumr","description":"Fast, cross-platform, multi-algorithm hash tool with parallel checksums and progress display","archived":false,"fork":false,"pushed_at":"2026-02-27T09:47:36.000Z","size":213,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T15:08:49.883Z","etag":null,"topics":["blake3","checksum","cli","cross-platform","developer-tools","file-integrity","hash","hashing","md5","multi-threaded","parallel-processing","sha256"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hashsumr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-03T15:11:45.000Z","updated_at":"2026-02-27T09:47:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hashsumr/hashsumr","commit_stats":null,"previous_names":["hashsumr/hashsumr"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/hashsumr/hashsumr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashsumr%2Fhashsumr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashsumr%2Fhashsumr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashsumr%2Fhashsumr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashsumr%2Fhashsumr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hashsumr","download_url":"https://codeload.github.com/hashsumr/hashsumr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashsumr%2Fhashsumr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30033635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T05:09:26.876Z","status":"ssl_error","status_checked_at":"2026-03-03T05:09:23.944Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blake3","checksum","cli","cross-platform","developer-tools","file-integrity","hash","hashing","md5","multi-threaded","parallel-processing","sha256"],"created_at":"2026-02-11T17:09:47.415Z","updated_at":"2026-03-03T06:02:08.202Z","avatar_url":"https://github.com/hashsumr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hashsumr\n\n**hashsumr**: Fast, cross-platform, multi-algorithm hash tool with parallel checksums and progress display.\n\nhashsumr (pronounced hash-summer) is a command-line utility designed for developers and power users who need to compute file hashes efficiently across multiple platforms. It is compatible with GNU coreutils conventions, supports multiple hashing algorithms, computes hashes for multiple files in parallel, and displays a progress bar for long-running operations.\n\n## Features\n\n- ✅ Multi-algorithm support: MD5, SHA1, SHA256, SHA512, BLAKE3, and more\n- ✅ Parallel processing: compute hashes for multiple files at the same time to maximize speed\n- ✅ GNU coreutils compatible: familiar CLI arguments and behavior (--check, --tag, etc.)\n- ✅ Cross-platform: works on Linux, FreeBSD, macOS, and Windows\n- ✅ Progress bar: visually track hashing progress for large files\n- ✅ Automatic detection: selects the hash algorithm when verifying BSD-style checksum files\n\n## Pre-Built Binaries\n\nYou can find pre-built binaries from the [releases](https://github.com/hashsumr/hashsumr/releases) page. No extra dependencies are required for executing the CLI tool.\n\nAvailable pre-built binaries:\n- `hasusumr-linux-amd64-static`; For Linux x86_64 platform\n- `hasusumr-linux-arm64-static`: For Linux aarch64 platform\n- `hashsumr-amd64.exe`: For Windows x86_64 platform (require [Visual C++ Redistributable](https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist))\n- `hashsumr-arm64.exe`: For Windows aarch64 platform (require [Visual C++ Redistributable](https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist))\n\n## Compile from Source Codes\n\n### Dependencies\n\n#### Linux\n\n- Alpine: `apk add git make cmake gcc g++ musl-dev openssl-dev openssl-libs-static`\n- archlinux: `pacman -S git make cmake gcc openssl`\n- Debian/Ubuntu: `apt install git make cmake gcc g++ libssl-dev`\n- Fedora: `dnf install git make cmake gcc g++ openssl-devel`\n- openSUSE: `zypper install git make cmake gcc gcc-c++ openssl-devel`\n\n#### FreeBSD\n\n(tested on FreeBSD 15.0) `pkg install git gmake cmake gcc`\n\n#### macOS\n\nInstall [Xcode Command Line Tools](https://developer.apple.com/documentation/xcode/installing-the-command-line-tools/) and [Homebrew](https://brew.sh/) first, then install the required packages using the following command:\n\n```\nbrew install cmake openssl\n```\n\n#### Windows\n\nInstall [Visual Studio Community](https://visualstudio.microsoft.com/vs/community/) and select the following components in the Visual Studio Installer.\n- **\"Desktop development with C++\"** workload\n- **\"Git for Windows\"** component\n\n### Build and Install\n\n- General instructions\n\n  ```\n  git clone --recursive https://github.com/hashsumr/hashsumr.git\n  cd hashsumr\n  make all\n  cp hashsumr /path/to/install/\n  ```\n\n- Note#1: For FreeBSD, use `gmake` instead of `make` to build `hashsumr`.\n\n- Note#2: For Windows\n  - Please launch the terminal using the appropriate shortcut, for example, **\"x64 Native Tools Command Prompt for VS\"**.\n  - Use `nmake /f NMakefile` to build `hashsumr.exe`.\n  - Use `copy hashsumr.exe c:\\path\\to\\install\\` to install the executable.\n\n## Usage\n\nLaunching `hashsumr` without any argument displays the following message. The available algorithms vary by platform.\n\n```\nUsage: hashsumr [OPTION]... [FILE]...\nPrint or check hash-based checksums.\n\nAVAILABLE ALGORITHMS: (case insensitive)\n  SHA1 SHA224 SHA256 SHA384 SHA512 SHA512/224 SHA512/256 SHA3/224 SHA3/256 SHA3/384 SHA3/512 SHAKE128 SHAKE256 MD5 BLAKE2b BLAKE2s BLAKE3\n\nOPTION: (* - not implemented, for compatibility only)\n  -1, --one             classic mode (no progress bar, no workers)\n  -a, --algorithm       choose the algorithm (default: SHA256)\n  -b, --binary          read in binary mode (default)\n  -c, --check           read checksums from the FILEs and check them\n      --gnu             create a GNU-style checksum\n      --tag             create a BSD-style checksum (default)\n  -t, --text            (*) read in text mode\n  -z, --zero            end each output line with NUL, not newline,\n                          and disable file name escaping\n      --workers         set the number or parallel workers\n      --np              no progress bar (default)\n  -p, --progress        show progress bar\n\nThe following five options are useful only when verifying checksums:\n      --ignore-missing  don't fail or report status for missing files\n  -q, --quiet           don't print OK for each successfully verified file\n      --status          don't output anything, status code shows success\n      --strict          exit non-zero for improperly formatted checksum lines\n  -w, --warn            warn about improperly formatted checksum lines\n\n  -h, --help            display this help and exit\n  -v, --version         output version information and exit\n```\n\n## Demo\n\n### Single Worker vs. Multiple Workers on Windows\n\n\u003e Hardware: Intel i7-1260P CPU + WD Blue SN570 SSD\n\n\u003e Files: Debian/FreeBSD/Windows ISO files x8 (35,385,284,608 bytes) + CJK filenames x4 (108 bytes)\n\n\u003e Summary: 1 worker (23.40s) vs. 9 workers (4.66s ~ 5.02x speedup)\n\n\u003e Commands (PowerShell):\n\n```\n(Measure-Command { .\\hashsumr-amd64 -p --workers 1 c:\\iso\\* }).TotalSeconds\n(Measure-Command { .\\hashsumr-amd64 -p c:\\iso\\* }).TotalSeconds\n```\n\n![hashsumr-windows-demo](https://hashsumr.github.io/hashsumr/hashsumr-win11-2x-fin.gif?v=0.0.2)\n\n### Single Worker vs. Multiple Workers on MacOS\n\n\u003e Hardware: Apple M3 Ultra CPU + Mac Studio built-in SSD\n\n\u003e Files: [Mistral-Large-3-675B-Instruct-2512-GGUF](https://huggingface.co/unsloth/Mistral-Large-3-675B-Instruct-2512-GGUF/tree/main/Q4_K_M) model files x9 (406,989,520,384 bytes)\n\n\u003e Summary: 1 worker (155.35s) vs. 10 workers (22.44s ~ 6.92x speedup)\n\n\u003e Commands:\n\n```\n/usr/bin/time hashsumr -p --workers 1 /tmp/m/*.gguf \u003e /dev/null\n/usr/bin/time hashsumr -p /tmp/m/*.gguf \u003e /dev/null\n  ```\n\n![hashsumr-macos-demo](https://hashsumr.github.io/hashsumr/hashsumr-macos-8x-fin.gif?v=0.0.2)\n\n### Checksum Verification\n\n\u003e Hardware: AMD Ryzen 9 5950X CPU + Intel 670P SSD [RAID1]\n\n\u003e Files: FreeBSD 15.0 amd64 Release [files](https://download.freebsd.org/releases/ISO-IMAGES/15.0/) x10 (14,156,216,784 bytes)\n\n\u003e Summary: sha256sum (6.63s) + sha512sum (13.15s) vs. 17 workers (4.27s ~ 4.63x speedup)\n\n\u003e Commands:\n\n```\n/usr/bin/time sha256sum -c CHECKSUM.SHA256-FreeBSD-15.0-RELEASE-amd64\n/usr/bin/time sha512sum -c CHECKSUM.SHA512-FreeBSD-15.0-RELEASE-amd64\n/usr/bin/time hashsumr -p -c CHECKSUM*\n```\n\n![hashsumr-check-demo](https://hashsumr.github.io/hashsumr/hashsumr-check-4x-fin.gif?v=0.0.2)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashsumr%2Fhashsumr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhashsumr%2Fhashsumr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashsumr%2Fhashsumr/lists"}