Back to rankings

namazso/OpenHashTab

C++

📝 File hashing and checking shell extension

hashhashtabchecksumchecksum-calculationchecksum-validatorchecksumshashcheckcrc32md5sha1sha256sha3
Star Growth
Stars
3.5k
Forks
140
Weekly Growth
Issues
65
1k2k3k
Nov 2019Dec 2021Mar 2024May 2026
README

OpenHashTab

License Weblate translation status Downloads GitHub Version Chocolatey Version Commits since release

About

OpenHashTab is a shell extension for conveniently calculating and checking file hashes from file properties.

Features

  • Support for 28 algorithms, see Algorithms
  • High performance hash calculation
  • Native Windows looks
  • High DPI screen support
  • Long path support*
  • Multilingual (Consider contributing to translation!)
  • Check hashes against VirusTotal with a button
  • Hash checking against a checksum file (Supported: hex hash next to file, *sum output (hex or base64), corz .hash, SFV)
  • Hash export to file or clipboard (Supported: *sum output, corz .hash, SFV)
  • Optional context menu option for faster access
  • File associations and standalone mode

* to the extent Windows and configuration supports it. Enable long paths on 1607+ for better support.

System requirements

  • Windows 7 or later (x86 / x64 / ARM64)
  • 1 GB RAM or more (for efficient hashing of more than 512 files at a time)

Usage

Most of the actions should be obvious. Some not-so-obvious features are listed here:

  • You can select multiple files or folders, all files will be hashed, directories traversed
  • Double click hash to copy it
  • Double click name or algorithm to copy the line in sumfile format
  • Right click for popup menu: copy hash, copy filename, copy line, copy everything
  • The counters next to the status text is in the format (match/mismatch/nothing to check against/error)
  • Columns sort lexicographically, except the hash column which sorts by match type
  • Selecting the tab on a sumfile will interpret it as such and hash the files listed in it.
  • If a hashed file has a sumfile with same filename plus one of the recognized sumfile extensions and the option for it is enabled, the file hash is checked against it.

Advanced features

Override Windows language selection

Add a DWORD named LangIdOverride to HKEY_CURRENT_USER\SOFTWARE\OpenHashTab with your preferred LCID

Disable VirusTotal button for all users on a machine

Add a DWORD named ForceDisableVT to HKEY_LOCAL_MACHINE\SOFTWARE\OpenHashTab with a nonzero value

Algorithms

  • CRC32, CRC64 (xz)
  • xxHash (XXH32, XXH64)
  • xxHash3 (64 and 128 bit variants)
  • MD4, MD5
  • RipeMD160
  • Blake2sp
  • SHA-1
  • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512)
  • BLAKE3 (256 bit, 512 bit)
  • KangarooTwelve (264 bit, 256 bit, 512 bit)
  • ParallelHash128 (264 bit) and ParallelHash256 (528 bit)
  • Streebog (GOST R 34.11-12) (256 bit, 512 bit)

Download

Latest release

Latest development build

Development builds

Screenshot

Screenshot Algorithms

Donations

This software is provided completely free of charge to you, however I spent time and effort developing it. If you like this software, please consider making a donation:

  • Bitcoin: 1N6UzYgzn3sLV33hB2iS3FvYLzD1G4CuS2
  • Monero: 83sJ6GoeKf1U47vD9Tk6y2MEKJKxPJkECG3Ms7yzVGeiBYg2uYhBAUAZKNDH8VnAPGhwhZeqBnofDPgw9PiVtTgk95k53Rd

Translation

Weblate translation status

Translate the project at Weblate

Translation contributors

In addition to contributors reported by git, some translations were also contributed by: xprism, @NieLnchn (Simplified Chinese), Niccolò Zanichelli (Italian)

Building

Requirements

  • Visual Studio 2022 (with desktop C++, ARM64, clang-cl)
  • vswhere in PATH
  • CMake
  • InnoSetup

Compiling

  1. Run build_algorithms.ps1
  2. Run build_openhashtab.ps1
  3. Use Inno Setup Compiler to compile installer.iss

More options and commands can be found in the GitHub Actions workflow

Relationship to HashTab

HashTab was a similar purpose proprietary software. While this software has been inspired by it, I was never a user of HashTab and this software contains no code or resources related to it.

License

All original code in this repo are licensed under the following license, unless explicitly stated otherwise in the file:

Copyright 2019-2023 namazso <admin@namazso.eu>
OpenHashTab - File hashing shell extension

OpenHashTab is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

OpenHashTab is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with OpenHashTab.  If not, see <https://www.gnu.org/licenses/>.

This software also contains or uses code from various other sources, for a complete list see license.installer.txt

Related repositories
openwall/john

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

COtherjohnc
openwall.com/john/
13.4k2.5k
Cyan4973/xxHash

Extremely fast non-cryptographic hash algorithm

COtherxxhashsmhasher
xxhash.com
11.2k905
vinkla/hashids

A small PHP library to generate YouTube-like ids from numbers. Use it when you don't want to expose your database ids to the user.

PHPPackagistMIT Licensephphashids
hashids.org/php
5.4k414
apple/swift-collections

Commonly used data structures for Swift

SwiftApache License 2.0collectioncontainer
4.5k397
niieani/hashids.js

A small JavaScript library to generate YouTube-like ids from numbers.

TypeScriptnpmMIT Licensehashidsjavascript
hashids.org/javascript
4.3k204
Neo23x0/Loki

Loki - Simple IOC and YARA Scanner

PythonPyPIGNU General Public License v3.0pythonyara
nextron-systems.com/compare-our-scanners/
3.8k615
ashvardanian/StringZilla

Up to 100x faster strings for C, C++, CUDA, Python, Rust, Swift, JS, & Go, leveraging NEON, AVX2, AVX-512, SVE, GPGPU, & SWAR to accelerate search, hashing, sorting, edit distances, sketches, and memory ops 🦖

CApache License 2.0simddataset
ashvardanian.com/posts/stringzilla/
3.5k131
corkami/collisions

Hash collisions and exploitations

PythonPyPIcollisionshash
3.4k211
greg7mdp/parallel-hashmap

A family of header-only, very fast and memory-friendly hashmap and btree containers.

C++Apache License 2.0hashtables
greg7mdp.github.io/parallel-hashmap/
3.2k310
Neo23x0/signature-base

YARA signature and IOC database for my scanners and tools

YARAOthersignatureyara-rules
3k673
qlustered/deepdiff

DeepDiff: Deep Difference and search of any Python object/data. DeepHash: Hash of any object based on its contents. Delta: Use deltas to reconstruct objects by adding deltas together.

PythonPyPIOtherpythontree
zepworks.com/deepdiff
2.5k274
Caligatio/jsSHA

A JavaScript/TypeScript implementation of the complete Secure Hash Standard (SHA) family (SHA-1, SHA-224/256/384/512, SHA3-224/256/384/512, SHAKE128/256, cSHAKE128/256, and KMAC128/256) with HMAC.

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licenseshasha-1
caligatio.github.io/jsSHA/
2.3k383