HashCheck icon indicating copy to clipboard operation
HashCheck copied to clipboard

[-->] Here are some alternative forks in active development.

Open a-raccoon opened this issue 3 years ago • 25 comments

I'm not very Github smart. Does anyone know how I can determine which (if any) of the 119 project forks are in active development?

Jump to Checkpoint.

a-raccoon avatar Nov 05 '20 04:11 a-raccoon

Don't think it's a fork, but https://github.com/namazso/OpenHashTab is a similar project and actively maintained.

warp16 avatar Nov 08 '20 03:11 warp16

I'm currently using old HashCheck in preference to new OpenHashTab (despite the latter's nicer UI), as it currently has a better SFV export function and a "double-click to check hashes from sumfile in a nice GUI" function. OpenHashTab's sumfile checking GUI is less pretty and a bit less intuitive (sumfile >> properties >> Hashes >> it will now check the files).

EDIT: A good way to tell by eye if a fork on GitHub is active is:

  1. Is it renamed? New maintainers often rename their versions
  2. Are there forks of that fork? That could indicate activity among a bunch of programmer buddies or people treating it as the "new master branch" and an active fork.

If the answer is yes to either question, then it's worth a click to find out if its commits are ahead of the master branch. If they are ahead, then it's more up-to-date. If they are even or behind the master branch, then don't bother and just use the master branch.

Darthagnon avatar Nov 09 '20 22:11 Darthagnon

@Darthagnon thanks, I wasn't aware that project forks would display in a tree format to reveal forks-of-forks and forks-of-forks-of-forks. This project just displays a long list of forks with no telling information, graphs, etc that I know about.

I am going to use OpenHashTab for a month and then start submitting Issues over there with suggestions to migrate some features from this project as it seems to have sunset.

a-raccoon avatar Nov 10 '20 17:11 a-raccoon

@Darthagnon hey, just found your comment while lurking this repo. I'm the developer of OpenHashTab

a "double-click to check hashes from sumfile in a nice GUI" function

This has been a secret feature for over a month actually, available via a registry tweak (which I just posted): https://github.com/namazso/OpenHashTab/issues/35

namazso avatar Nov 23 '20 02:11 namazso

@namazso That is awesome! You're a legend! Thank you! Guess I'll be replacing HashCheck soon :D

Darthagnon avatar Nov 29 '20 12:11 Darthagnon

@namazso moved to OpenHashTab as well since this branch is not in development anymore :)

orbittwz avatar Feb 15 '21 20:02 orbittwz

@idrassi (main VeraCrypt developer) recently created a fork idrassi/HashCheck that added Blake3 support. Go show him some love and hopefully he will continue to maintain it.

tERyceNzAchE avatar Feb 16 '21 02:02 tERyceNzAchE

What I don't understand is why @gurnec doesn't just say that he is not going to develop/support this software anymore, he is active in other projects so he is alive and has access to this account, after so many years there is no response from him.

@idrassi (main VeraCrypt developer) recently created a fork idrassi/HashCheck that added Blake3 support. Go show him some love and hopefully he will continue to maintain it.

Do you know if there is a forum or some place where issues and request can be posted?

1024mb avatar Mar 06 '21 19:03 1024mb

Do you know if there is a forum or some place where issues and request can be posted?

It looks like Issues aren't enabled on the fork repository. You could always email @idrassi and ask him to enable it.

tERyceNzAchE avatar Mar 06 '21 19:03 tERyceNzAchE

@1024mb I have enable issues on my fork repository. I don't promise to be always reactive as I have other projects to maintain but I will do my best to keep enhancing this useful tool.

idrassi avatar Mar 07 '21 10:03 idrassi

@idrassi, thank you for taking HashCheck over and playing the leading role now as other context hashers to date are ugly.

sergeevabc avatar Mar 30 '21 00:03 sergeevabc

HashTab is going to be open sourced, see implbits.com.

KrasnayaPloshchad avatar Jul 26 '21 09:07 KrasnayaPloshchad

Checkpoint. 2021-07-26 (only fairly accurate)

2004-2009 --- HashTab Shell Extension by Cody Batt of Beeblebrox.org (defunct)

The original software. "Source is available upon request." Versions 1.0 (2004) to 3.0 (2009)

2011-2021 --- HashTab by Implbits.com

Sold(?) / Evolved(?) to Implbits Software. Became a commercial product. Versions 4.0 (2011) to 6.0.0.34 (2021).
In 2021, Implbits announced HashTab has reached its End of Life and source code will be released to github. (eol statement)

2008-2009 --- HashCheck by Kai Liu of code.kliu.org

A new champion enters the ring. When HashTab Shell Extension became closed-source non-free software (at the time), Kliu came out with his own free offering, HashCheck. Versions 1.0 (2008) to 2.1.11 (2009). (changelog) (download)
Around this time, HashTab supported a very huge array of hash algorithms that HashCheck did not have. I forget the source of the commercial library that HashTab was using.

2014-2016 --- HashCheck forked by Christopher Gurnee @gurnec to github.com

This fork. Versions 2.2.2 (2014) through 2.4.0 (2016). (project) (releases)
Credit is also given to David B. Trout (2014) and Tim Schlueter (2016) but I lost what their contributions were. Mike Tzou @Chocobo1 of Hash C++14 Header-only Hash Library

2021-present(2021) --- HashCheck forked by Mounir Idrassi @idrassi of VeraCrypt on github.com

This fork switches algorithms SHA-256, SHA-512 and SHA3 to use the OpenSSL engine for great speed improvements, and adds Blake3 algorithm. A nice surprise after 5 years of stalled development. Version 2.5.0 (2021). (project) (releases)

2019-present(2021) --- OpenHashTab by @namazso on github.com

Inspired by HashTab, this is another wholly new development with similar design, but lacks the hash verify UI of Kai Liu's HachCheck. It focuses more on the shell extension UI and adds coloring for matching sums between multiple files, and also supports a very huge array of hash algorithms, like HashTab, that HashCheck does not yet support (but that very few people would actually use). Versions 1.1 (2019) to 3.0.1 (2021). (project) (releases)

a-raccoon avatar Jul 26 '21 15:07 a-raccoon

There is also rhash, it's been around since 2005. http://rhash.sourceforge.net/

1024mb avatar Jul 26 '21 21:07 1024mb

@a-raccoon - Thanks for the compilation.

One more for the 2.4 builds, is this one, an update of an Alpha build that Chris Gurnee started in Sep 2016 but apparently never did anything with after (it was on Appveyor, and apparently they remove old stuff so no longer directly downloadable).

https://github.com/seiya-dev/HashCheck/releases/tag/v2.4.1.58-alpha

I've been a longtime user of HashTab and HashCheck (the latter because you can associate the program with hash files, then double click them for a8utomaitc verification, as well as having a shell extension in any given file's property dialog). I had no idea it had been forked again and was under development again.

I've also migrated from HashTab to OpenHashTab, as well, I do love having an export feature.

Thanks for the compilation.

JohnLGalt avatar Aug 15 '21 19:08 JohnLGalt

I've also migrated from HashTab to OpenHashTab, as well, I do love having an export feature. Thanks for the compilation.

I would love to see someone, maybe OpenHashTab, migrate the HashCheck digest verify UI and functionality, and also go through the rest of the HashCheck code, and the newly released (soon) HashTab code, to find gems of superior code worth incorporating. Or someone, whoever is willing to unify these projects and historic talent into one.

a-raccoon avatar Aug 15 '21 20:08 a-raccoon

Agreed. I had a discussion a long long time ago with someone over at implbits about how the hashing algorithm in HashTab was slower than Kiu's last version of HashCheck, and there was some work done to make it better, I think, so that hashing speed was never clearly in favor of one or the other.

If some enterprising dev could combine the best of all 3 (including OHT) that would be very nice.

JohnLGalt avatar Aug 15 '21 21:08 JohnLGalt

Revisiting this issue to see if anyone has found a new favorite. I still use HashCkeck 2.5.0.1 by idrassi, but also have OHT by namazso installed.

JohnLGalt avatar Dec 30 '22 20:12 JohnLGalt

Agreed. I had a discussion a long long time ago with someone over at implbits about how the hashing algorithm in HashTab was slower than Kiu's last version of HashCheck, and there was some work done to make it better, I think, so that hashing speed was never clearly in favor of one or the other.

Still using HashCheck. ~~Didn't find a good replacement that also can verify sfv releases. I hope OpenHashTab will implement all the needed features once!~~

Nevermind, OpenHashTab added a sfv feature in 3.x releases. Maybe time to have another look.

Big issue : the verification time is way faster in HashCheck though. Especially when the data are splitted in multiple files. HackCheck seems better multithreaded.

zotabee avatar Jan 01 '23 10:01 zotabee

If it's of useful information to anyone, I have another system of hash verification in my repertoire. Every so often I copy off all data from one hard drive to another to keep it fresh, wiping and testing the old hard drive for fitness. I use FastCopy to accomplish this copy, which has the option to generate a hash digest (SHA-512) of each file into the target file's Alt-Data-Streams (ADS). I then use VoidTool's Everything to read every file's old *.sha512 digest file, and their new SHA-512 ADS into two data columns, and have Everything filter for any files with mismatched hashes.

Anyway, this saves me from verifying several terabytes of data against their *.sha512 digest files directly, wasting hours on a useless task, letting me verify them while accomplishing meaningful work (disk copy).

a-raccoon avatar Jan 01 '23 16:01 a-raccoon

Still using HashCheck. ~Didn't find a good replacement that also can verify sfv releases. I hope OpenHashTab will implement all the needed features once!~

Nevermind, OpenHashTab added a sfv feature in 3.x releases. Maybe time to have another look.

Big issue : the verification time is way faster in HashCheck though. Especially when the data are splitted in multiple files. HackCheck seems better multithreaded.

Interesting. I've not actually tested them SxS in a while. Will have to revisit.

If it's of useful information to anyone, I have another system of hash verification in my repertoire. Every so often I copy off all data from one hard drive to another to keep it fresh, wiping and testing the old hard drive for fitness. I use FastCopy to accomplish this copy, which has the option to generate a hash digest (SHA-512) of each file into the target file's Alt-Data-Streams (ADS). I then use VoidTool's Everything to read every file's old *.sha512 digest file, and their new SHA-512 ADS into two data columns, and have Everything filter for any files with mismatched hashes.

Anyway, this saves me from verifying several terabytes of data against their *.sha512 digest files directly, wasting hours on a useless task, letting me verify them while accomplishing meaningful work (disk copy).

That's actually a really good idea! I never once considered placing hashes in ADS, that would go a long way in being able to have handy file verification hashes available on a per-file basis without cluttering up directories with individual hash files.

Thank you!

I'm also going to contact the developers of both Xplorer² as well as OneCommander to see if they have an easy way to parse hashes from ADS, or else if it can be added. I've been an X² user for a long, long time but recently discovered OC, and I find myself using it more and more every day as my daily FM in Windows.

JohnLGalt avatar Jan 02 '23 18:01 JohnLGalt

I think that's not a good way of handling hashes. Having the hash stored in the ADS doesn't mean that hash is still the current one for that file, multiple things can occur for that hash to change like bit rot, soft errors, etc. For me hash calculation, at least when is done for integrity check, should always be done at run time. There are several applications that can compare directories like BeyondCompare, ExamDiff and WinMerge. Or use a copy application with integrity check like rclone, and iirc FastCopy does it too.

1024mb avatar Jan 02 '23 20:01 1024mb

Good point.

However, my use case is for long term file storage, where files won't be changing as often.

JohnLGalt avatar Jan 03 '23 00:01 JohnLGalt

For clarity, I keep *.sha512 sidecar digest files that should always match the data/media file or collection in question. I also allow my copy program (FastCopy) to store a sha512 digest in each file's ADS for a verification of that Copy Operation. I consider the ADS to be ephemeral (destructive) and only pertains to that physical copy on that piece of physical media (hard disk drive volume). I never copy ADS data when copying or moving media.

The point here is that the ADS is a perfectly valid place to store data about a particular file's fitness on a particular piece of media. And I agree, it should never be used as a replacement for actual hash digest sidecar files. But it is handy to have these two digests for quick and easy comparison to detect errors after every copy or move.

a-raccoon avatar Jan 03 '23 05:01 a-raccoon

Following up on https://github.com/gurnec/HashCheck/issues/75#issuecomment-886823066

Hmmm. Revisiting this for a couple of reason.

  1. OpenHashTab has started dying on me whenever I try to use it to compare a file's hash with an input hash, and it takes Windows Explorer down with it. Windows 11 22H2 (OS Build 22621.1265).

  2. I've found a good one from the Microsoft Store for Windows that actually is a bit enhanced over OpenHastTab, called Hash Pad - https://www.microsoft.com/store/productId/9NRDJ8214GBT


Pros of Hash Pad:
  1. It uses multi-line text boxes to display the full has, instead of having it scroll off screen.

  2. Has dedicated button to read a hash that is stored in the system clipboard for comparison.

  3. When you have multiple hash types dispalyed, comparison with a hash string has the match indicator pops up next to the hash type that matched.

  4. It has the ability to be added to the Windows Send-To menu, for file context-menu hashing.

  5. Setting to enable / disable automatic hash calculation when file path is manually filled.

  6. Setting to enable / disable automatically reading clipboard before calculating hash value.


Cons:
  1. Limited to SHA1, SHA256, SHA384, SHA512 and MD5.

  2. Can only check single files.

  3. Cannot export / save hash files.


HashCheck 2.5.x still works, and has the ability to save files, as well as verify with just a double-click on the hash file itself, but until I can get OHT working again, Hash Pad is now installed on my system.

JohnLGalt avatar Feb 24 '23 00:02 JohnLGalt