Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
a-raccoon opened this issue Nov 5, 2020 · 34 comments
Open

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

a-raccoon opened this issue Nov 5, 2020 · 34 comments

Comments

@a-raccoon
Copy link

a-raccoon commented Nov 5, 2020

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.

@warp16
Copy link

warp16 commented Nov 8, 2020

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

@Darthagnon
Copy link

Darthagnon commented Nov 9, 2020

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.

@a-raccoon
Copy link
Author

@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.

@namazso
Copy link

namazso commented Nov 23, 2020

@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): namazso/OpenHashTab#35

@Darthagnon
Copy link

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

@orbittwz
Copy link

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

@tERyceNzAchE
Copy link

@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.

@1024mb
Copy link

1024mb commented Mar 6, 2021

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?

@tERyceNzAchE
Copy link

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.

@idrassi
Copy link

idrassi commented Mar 7, 2021

@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.

@sergeevabc
Copy link

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

@a-raccoon a-raccoon changed the title Does anyone know if there are any forks in active development? [-->] Here are some alternative forks in active development. Mar 30, 2021
@KrasnayaPloshchad
Copy link

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

@a-raccoon
Copy link
Author

a-raccoon commented Jul 26, 2021

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)

@1024mb
Copy link

1024mb commented Jul 26, 2021

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

@JohnLGalt
Copy link

@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.

@a-raccoon
Copy link
Author

a-raccoon commented Aug 15, 2021

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.

@JohnLGalt
Copy link

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
Copy link

JohnLGalt commented Dec 30, 2022

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.

@zotabee
Copy link

zotabee commented Jan 1, 2023

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.

@a-raccoon
Copy link
Author

a-raccoon commented Jan 1, 2023

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).

@JohnLGalt
Copy link

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.

@1024mb
Copy link

1024mb commented Jan 2, 2023

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.

@JohnLGalt
Copy link

Good point.

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

@a-raccoon
Copy link
Author

a-raccoon commented Jan 3, 2023

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.

@JohnLGalt
Copy link

Following up on #75 (comment)

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.

@JustMyGithub
Copy link

HashPad is on Github, too: https://github.com/emoacht/HashPad

@NintendoManiac64
Copy link

As I mentioned over on @idrassi's fork, there's unfortunately now three different builds of HashCheck Shell Extension that each have exclusive functionality:

@idrassi
Copy link

idrassi commented Sep 4, 2024

Adding back MD4 support is not a problem: while it is not secure, using it for checking for comparing file still makes sens (it is not worse than CRC32).
For ARM64, adding the build configuration for it is trivial. The issue is more on the installer to ensure compatibility with Windows ARM64. I'm not sure about this part.

I will look into these in my fork https://github.com/idrassi/HashCheck

@NintendoManiac64
Copy link

NintendoManiac64 commented Sep 4, 2024

Adding back MD4 support is not a problem: while it is not secure, using it for checking for comparing file still makes sens (it is not worse than CRC32).

As I stated in the corresponding issue on your fork, my main interest nowadays is actually more about being able to read existing MD4 checksum files that I've created over the past decade rather than creating new checksums files with it:

...especially since, as I'm now primarily a Linux user, I actually can't even use HashCheck Shell Extension to create checksums sadly enough—I can only use it for reading checksums (as I've spoken of elsewhere, there's maddeningly no GUI-based software for native Linux that can create checksum files for recursive data i.e. for files & folders located inside folders which themselves are located inside of folders):

@Darthagnon
Copy link

I've noticed that Idrassi's fork sometimes fails to install (e.g. in corporate Win10 environment and Windows XP) while the original HashCheck works fine.

@NintendoManiac64
Copy link

NintendoManiac64 commented Oct 12, 2024

I've noticed that Idrassi's fork sometimes fails to install (e.g. in corporate Win10 environment and Windows XP) while the original HashCheck works fine.

That's presumably related to the changed installer. One thing that is the opposite is that I find that the installer used on the likes of idrassi's fork is much more likely to work in a WinPE live environment while the original v2.1.1's installer is more likely to fail.

A key example is the MediCat live USB's "Mini Windows 10" where the original HashCheck v2.1.1 can't even install while idrassi's (or any of other the newer forks since the implementation of SHA256) "just work" and is my primary way of verifying an entire entire hard drive's contents before and after backups and the like (especially since I'm a Linux user and, as I previously stated, there's historically been no native Linux GUI-based way to create checksum files for recursive files & folders)

(and even on Windows, using a consistent live environment can be ideal, particularly if the hard drive you're hashing has Windows installed on it since Windows uses various symbolic links and stuff, and you don't want those symbolic links to be pointing to the location on the currently-booted Windows OS's hard drive which is usually avoided with WinPE due to it using an OS drive letter of X:\ instead instead of C:)

@azidman
Copy link

azidman commented Oct 22, 2024

Hello, i want "right click" "create checksum file" and the checksum file is then sorted alphabetically.
Does any Hashcheck Fork finally sort alphabetically and/or compress whitespace?
Thx :)

I installed "idrassi" and still ... no sorting. really sad.
Can anybody finálly bring a "sorting" hashcheck?

@FadeMind
Copy link

sorting" hashcheck

Try RapidCRC https://ov2.eu/programs/rapidcrc-unicode

@a-raccoon
Copy link
Author

Can anybody finálly bring a "sorting" hashcheck?

I currently sort using Notepad++ and clever text selection to make column sorting work. (Start your selection on the first line at the beginning of the path-file name, and select the entire rest of the document, then use the column sort addon.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests