topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday December 14, 2024, 3:57 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: HashTab Shell Extension  (Read 10659 times)

IainB

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 7,544
  • @Slartibartfarst
    • View Profile
    • Read more about this member.
    • Donate to Member
HashTab Shell Extension
« on: September 06, 2016, 08:54 PM »
I couldn't find this version:
Just thought I'd revive this thread to say that I've been using HashTab (v5.1.23) for a while now and am finding it very useful in my file management tasks - e.g., when I am wanting to determine whether two files of the same or different names are in fact the same (duplicated) file.
However, I might dispense with using it on those occasions when the xplorer² Checksum column is likely to be more useful (see below).

Also:
  • HashCheck Shell Extension: Thanks to @PhilB66's mention of it in this thread (above), I am about to trial this.
  • WinMD5sum: I have been using this on occasion.
  • xplorer² Checksum column:: is a column you can invoke in xplorer² to give you a checksum of files in (say) a directory listing. The manual warns that invoking the Checksum column could be a resource hog:
    x² extracts certain information from each file and displays it in different columns of the folder pane (e.g. checksum).
    However, this additional consumes CPU resources and slows down other operations.
    To make the operation more efficient, x² has a provision that it will display the information only if the file-size is below a [settable] threshold value.
    (A very handy feature.)

Current notes are in the (sharpened) image below, and the text is copied in the spoiler below that.

07_602x2396_5A8B8F9F.png

Spoiler
      Notes on HashTab Shell Extension (prepared using MS OneNote).
      (Notes posted to DC Forum as this is such a useful Shell Extension.)
      I wanted to install this very handy shell extension - which I have been using for ages - on an HP Pavilion-15 laptop (Win10-64 PRO), having last used it on the Toshiba-L855D under Win10-64 PRO. However, I could not find the setup proggie in my online Archive.
      I couldn't recall where/when I I originally got this proggie, not could I find any notes in my OneNote Notebooks about this either, so I determined to make some notes (these) this time around.
      I knew the setup proggie would be on my backup, but I thought it would probably be simpler/quicker to download it afresh from the Internet.
      I was wrong.
              • A duckgo search turned up a review (which I took a copy of) from 2010 on freewaregenius.com, which gave the source website  as http://beeblebrox.org/
              • However, that source had gone 404 and the domain was up for sale.
              • I found the 2010 version 3.0 on Wayback: https://web.archive....tp://beeblebrox.org/
              -  (which I also took a copy of) and downloaded the setup file from there:
      https://web.archive..../HashTab%20Setup.exe
      
      Then I took a cursory look over the years after 2010, and didn't find anything useful on Wayback.
      One of the files (.dll) in the installer was dated 2009, so I figured the dl file was the latest version. I saved the setup file into my Archive and these notes, just in case.
      File: HashTab v3.0 Setup (2010-06-20).exe
      (The above links to the file in the Archive, and the file is also inserted
      to the right of this note.)
      
      
      When I ran the setup/installer it proved to be a quick, no-fuss affair.
      The opening panel:
      
      
      The opening panel led to an incredibly verbose licence agreement:
      
      
      Then it wanted to install to C:\Program Files\HashTab Shell Extension
      So I changed that to C:\UTIL\Explorer software\HashTab Shell Extension
       - whereupon it installed 2 files ( a .dll and an .exe) and set itself into the Explorer Shell.
      
       The download page gave MD5 hashes - this one for Windows setup:
                HashTab Setup.exe:   5845F52D425C75E232B1AD5EE3B189A8 (windows)
      So copied that hashkey, right-clicked the setup file, selected Properties-->File Hashes
      and pasted the hashkey into the empty box Hash Comparison
      The big fat green tick signified that HashTab had verified its own setup file's MD5 hashkey.
      (Note the version and date towards the bottom of the box below.)
      
      Screen clipping taken: 2016-09-07 12:20
   

« Last Edit: September 06, 2016, 09:07 PM by IainB »

IainB

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 7,544
  • @Slartibartfarst
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: HashTab Shell Extension
« Reply #1 on: September 06, 2016, 11:25 PM »
I did a Sherlock Holmes and think I have sorted it now.
Big footprints for anyone who wants to get at these versions of the same thing.

07_444x337_78155233.png

Spoiler
      Further notes on HashTab Shell Extension (prepared using MS OneNote).
      After further investigating my archives and searching the Internet a bit more thoroughly, I think I have made sense of the versions.
              1. beeblebrox.com v3.0 (2009) - this was from a now defunct website (404).
              2. implebits.com v5.1.0.23 (2014-03-14) - this was in my Archives and came from http://implbits.com/.../HashTabWindows.aspx (404) and I initially mistook it to mean that the domain was defunct, but when I checked, it wasn't defunct.
              3. implebits.com  v6.0.0.28 (2016-09-07) - this was the latest version on that domain.
      So I now had 3 versions - 1 x beeblebrox and 2 x implbits. They seem to be the same things, probably developed by the same people. They certainly look the same, anyway.
      The beeblebrox one is free, and the implbit ones are free for private use.
      The main difference between the 3 versions seems to be, as shown below, in terms of the number of hashing algorithms that they can employ. Presumably, more is better, but it also makes the program files larger too.
      
      The other main difference is in that the beeblebrox v3.0 has that nice friendly licence agreement, whereas the two implbits versions have the more unfortunate threatening licence agreements plus an angry warning that it is "Not Licenced for Commercial Use" (with title capitals like that).
      
      If you asked me which I might prefer, I would probably plump for the beeblebrox one, because of its friendly  licence agreement and its smaller footprint - I don't really require all those extra hashing algorithms.
      
      15 settings in beeblebrox HashTab v3.0 (2009): (Wayback sourced)
      
      Screen clipping taken: 2016-09-07 15:09
      
      22 settings in implbits HashTab v5.1.0.23 (2014-03-14): (my Archives)
      
      Screen clipping taken: 2016-09-07 15:16
      
      30 settings in implbits HashTab v6.0.0.28 (2016-09-07):
      From: http://implbits.com/
      
      Screen clipping taken: 2016-09-07 15:19      


x16wda

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 888
  • what am I doing in this handbasket?
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: HashTab Shell Extension
« Reply #2 on: September 07, 2016, 05:21 AM »
Thanks. I have been using the 3.0 version for years, and the 2.0 version before that.
vi vi vi - editor of the beast

xtabber

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 618
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #3 on: September 07, 2016, 07:00 AM »
Gizmo's had a useful comparison of free hash check programs for Windows last year.

Not noted in that article is that HashCheck File Extension has been updated by a new developer to include SHA-256 and SHA-512, making it useful once again.  The latest version (2.3.2 at this writing) is available here.  It is also much lighter on resources and easier to use than most of the others, which is why I prefer it.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #4 on: September 07, 2016, 10:03 AM »
My MD5Hash program only does MD5 as one might expect from the title.  But the main thing I wanted to accomplish was to make it robust for use with large files, such as video.  I tested it with .mkv and .m2ts files 8+ GB in size and I never saw it crap out.

Unfortunately I lost the source code so I cannot fix a few niggling bugs.  The main annoyance happens when you right click say 100 files in Explorer and select md5hash from the context menu(if you used the included utility that sets up context menu access.)  There will be 4 or 5 copies open before the "single instance" behavior kicks in.  I know how to fix it if I still had the source.  But so it goes.

I regularly use it to check all the downloads on my page.  The editbox is a RTF Edit control.  So it can hold quite a few lines.  I put the md5sum first on the line for sorting purposes.  Right clicking on a folder and selecting Md5Hash should hash all files in that folder and subfolders.  Again I put a sanity check value of 4095 so it is not designed for hashing every file on C:.

Here is the scenario how I automate using it to make sure all my downloads have not been tampered with.  I use DownLoadThemAll to download all my zip files to a folder.  I right click the folder and choose md5hash.  Then I right click the folder on the HD that has my zip files for upload to my page.  The "single instance" behavior adds the md5sum lines to the Edit Box of the already opened copy of md5hash.

After this I run a script that cuts the contents of the Edit Box to clipboard, reads it out, sorts it, and saves it to file writing 2 lines then a blank line until all the lines are written out.  This file is then launched in a text editor.  This makes it easy to see the files are sorted in pairs by md5sum.  If there was any non match the whole pattern would be thrown off and it is obvious to the eye.

Anyway, if you have rather large files to process such as greater than 4 GB I optimized the file handling to work in large chunks.  A 10 MB buffer is used so that even with multi GB files you can see the progress bar move along.  Files can be added even though processing is running.  They are added to a queue and processed in order with a count of the number of files remaining in the caption bar.  I used a simple dialog type Win API application so that the program is a self contained exe.  It should work on XP or newer English language Windows.  You may download from my page here:

http://milesaheadsoftware.org/

btw it includes both 32 bit and 64 bit native C++ exe versions.  If you unzip maintaining the subfolder structure running the context menu installer utility picks the one that matches your system. If I remember rightly it was compiled with MS VC++ 9.0 native 32 and 64 bit compilers with optimization set to speed.


I wrote this about 5 years ago.  Other than the behavior I already criticized I guess the main drawback would be that it is md5 only.  But for my purposes that was good enough.  Even now, 5 years later, I see most download sites, if they only have one checksum to check your download against, the vast majority of the time it is md5.  Not glamorous or the spiffiest UI but it is stable and solid.
« Last Edit: September 07, 2016, 10:17 AM by MilesAhead »

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #5 on: September 07, 2016, 11:02 AM »
btw if using a checksum program implemented as a Shell Extension, such as on a Property Page etc., if it has an option to limit the feature to smaller files I would take advantage of the setting.  Anything that hooks Explorer and bogs can make the shell very flaky.  I did a couple of things as Shell Extensions and it was best to get it done and get out when hooked to the shell.

It is a cool feature to have the checksums displayed right in the property page though.   :Thmbsup:

xtabber

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 618
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #6 on: September 07, 2016, 12:29 PM »
Google Developer now provides only SHA-256 checksums, so if you want to check factory image downloads for Nexus devices (HIGHLY recommended), you need a hash checker that supports that.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #7 on: September 07, 2016, 12:38 PM »
Google Developer now provides only SHA-256 checksums, so if you want to check factory image downloads for Nexus devices (HIGHLY recommended), you need a hash checker that supports that.

I'm sure there are plenty of exceptions.  With the number of free checksum utilities around I don't see the requirement to have only one or two at your disposal.  In C# all the various checksum routines are available.  But I doubt the md5 one is as fast as a C++ implementation from Code Project.  That is what I adapted.  The features I added were queuing of jobs and fast file handling.  In published articles for checksum routines the author is obviously demonstrating the checksum function(s) and wants the rest of the program to be simple and foolproof.  More like a proof of concept.  I have seen fast checksum programs where the file buffer is 1 KB on the stack.  I don't fault them for that.  The allure of the article and code is to start with a working base and enhance it after all.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #8 on: September 07, 2016, 02:47 PM »
A feature of MD5Hash that I forgot to mention.  If md5hash.exe is run with no argument on the command line, it does not participate in the "single instance" behavior.

Let's say you have a copy of md5hash running processing 2000 files because you right clicked on a folder to process it.  Now you have a big video file you want to check but you do not want to wait for the 2000 file queue to empty.  Run md5hash.exe with no argument(not using Explorer context menu either) and when it comes up, either type in the name of the file or drag and drop the file on it.  If the new file is on a separate drive that happens to be an SSD then it should zip along pretty well even though the other copy of the exe is processing 2000 files.

IainB

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 7,544
  • @Slartibartfarst
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: HashTab Shell Extension
« Reply #9 on: September 08, 2016, 01:41 AM »
... if it has an option to limit the feature to smaller files I would take advantage of the setting.  Anything that hooks Explorer and bogs can make the shell very flaky. ...
_________________________
Yes, xplorer² can give a column showing checksum, and I use it fairly frequently, so I have that column displayed in most of the pane layouts that I use. I find it very handy - e.g., when comparing file versions in the archives - but the user needs to set a lowish limit to the max file size for hashing, otherwise it can engage the CPU/HDD too much and impact screen display/refresh rates with all that computing overhead going on. That overhead is multiplied, of course, the more files you have in a folder, so I employ a pane layout without the checksum column for those folders with lots of files.
When I want to check the hashkey for a larger file, I prefer to use the HashTab Shell extension, as that seems to function only when you invoke that Tab in the File Properties view, and it seems pretty efficient.

gurnec

  • Participant
  • Joined in 2016
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Re: HashTab Shell Extension
« Reply #10 on: September 09, 2016, 05:00 PM »
Not noted in that article is that HashCheck File Extension has been updated by a new developer to include SHA-256 and SHA-512, making it useful once again.  The latest version (2.3.2 at this writing) is available here.

You must have just missed the release of 2.4.0 by about 10 hours :) which adds SHA3, better multithreading, and a few other things.

In any case, I'm glad you find it useful!