Code Monkey home page Code Monkey logo

hashcheck's Introduction

HashCheck Shell Extension

AppVeyor build status

Installation

The latest installer for Windows (Vista and later) can be found here:
https://github.com/gurnec/HashCheck/releases/latest

Contributors

Kai Liu
Christopher Gurnee
David B. Trout
Tim Schlueter

Building from source

Compiler

Microsoft Visual Studio 2015 (the free Community edition works well).

Localizations

Translation strings are stored as string table resources. These tables can be modified by editing HashCheckTranslations.rc.

Translation Contributors

Català: @Hiro5
中文 (简体): "yumeyao"
中文 (繁體): Jack Chang and @Chocobo1
Čeština: Václav Veselý
Deutsch: "Rolf"
Ελληνικά: "XhmikosR"
Español: "Phare"
Français: "mooms" and "user_hidden"
Italiano: "Botta" and @scara
日本語: "yumeyao"
한국어: JaeHyung Lee
Nederlands: "Edwin"
Polski: "RedWine"
Português (Brasil): "0d14r3"
Português (Portugal): "LPCA"
Română: Oprea Nicolae, a.k.a. "Jaff"
Pусский: Yurii Petrashko
Svenska: Stefan Friman
Türkçe: M. Ömer Gölgeli
Yкраїнська: Yurii Petrashko

License and miscellanea

Standard 3-Clause BSD License.

Please refer to license.txt for details about distribution and modification.

This software is based on software originally distributed at:
http://code.kliu.org/hashcheck/

hashcheck's People

Contributors

chappjc avatar chocobo1 avatar gurnec avatar hiro5 avatar modelrockettier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hashcheck's Issues

Esc doesn't close file properties

Every other pane in the file properties window will close when escape is pressed, HashCheck will normally close, however if anything in the text area is selected pressing the escape key will do nothing.

Small niggle, but noticeable.

signed as IDP generic

Hi,

during the installation
my trustworthy Avast warned me by a pop up saying
C:\Users\AppData\Local\Temp\NSU14F.TMP => IDP.Generic

avastui_2017-08-10_21-39-46

we need infinite recursion detection or option to skip NTFS Junctions/symlinks for folders

on modern Windows systems some folder paths from %USERPROFILE% are actually NTFS junction points to other folders under the same tree root...

this causes an infinite loop situation that is only broken when the constructed the file path name exceeds the maximum possible path length (256-ish characters)

for example:
%USERPROFILE%\Local Settings is actually a NTFS Junction to %USERPROFILE%\AppData\Local

in this folder we have another junction... and this is where the problem starts:
%USERPROFILE%\AppData\Local\Application Data is a NTFS junction that points back to ... %USERPROFILE%\AppData\Local
(yes.. a junction that points back to the parent of the junction... blame Microsoft.)
My OS here is Windows 10 1703, fully updated but the same OS behaviour is present on Windows 7 too.

Please add an option to skip NTFS Junctions/symlinks or add some recursive path loop detection logic when creating/verifying checksums.

I think an option to skip NTFS Junctions and NTFS symlinks (for folders only) would be much simpler.

Windows Libraries Folder Focus

This isn't a real "issue" with HashCheck but a request for a suggestion or workaround.

Is there a trick to force Windows Explorer to focus on Library folders when creating a checksum file?
If you highlight files within any Libraries folder/directory, then right click and select "Create Checksum File....", when the Save As dialog appears, the focus is not on the current folder.

The "Save As" focuses correctly when used on folders/directories outside of Libraries.

Any suggestion would be appreciated.

Clipboard compare

Since many websites merely show the file hash on the download web page, rather than have a downloadable file that HashCheck can use, it would be tremendously helpful to automatically compare file hashes against a value pulled from the Windows clipboard.

Please keep MD5 checked by default

Hi,
First, thank you for keeping alive HashCheck !

I'm the original author of the French translation.

I have a suggestion: keep MD5 in the default checksum, it's still widely used for file verification, no reason to remove it from default install.

Thank you.

Make .md5 checksum files compatible with linux

HashCheck saves the md5 checksum file with CRLF line endings, which the linux md5sum tool cannot properly handle. Please add an option to save the checksum files with LF line endings.

File order is broken in Create Checksum File

In the original kliu release, when you select a bunch of files and right-click -> Create Checksum File, the files would be ordered based on the ordering within the Explorer window.

Today, there is no rhyme or reason to the file ordering that appears in a checksum file. It is nearly randomized.

Can anyone describe what changed in the code that would explain this behavior change?

Avast! blocks the setup as IDP.Generic

While trying to recover HashCheck due to Windows 10 being updated to Creators (#15) Avast! prevents me to be successful:

C:\Users<username>\AppData\Local\Temp\NSU14F.TMP => IDP.Generic

Any hint?

TIA,
Matteo

Enhancement Request: Copy source modification time stamp to the created hash file

In the case of multiple source files, I suppose you could use the timestamp of the most recent file.

I'm usually using HashCheck on single files. This enhancement would allow me to look at a directory listing and if I see that the source file and hash file do not have the same timestamp, I'll know there's a pretty good chance verifying the checksum will fail, especially if the source file timestamp is newer than the hash file.

If I want to know the real date that the hash file was created, I would look at the properties under file explorer.

I can't think of reason this would be a disadvantage for anyone else but I realize there might be a use case that I'm not thinking of. It would certainly be fine with me if this was a user configurable option.

Currently I'm having to run Swiss File Knife after creating the hash file to set its last modification date to the source file. I'm not able to apply wildcards so I'm ending up having to do each hash file individually. As you can imagine it's a real pain to do this for hundreds of files.

Windows 10 Feature Update breaks installation

Don't know if it's possible to not have that happen, but in our last Windows Feature Update, 1709 to 1803, this now has to be reinstalled. This is obviously due to the fact that the DLL is stored in the System32 folder. Would it be possible to store the DLL elsewhere?

Sort table by headers

It would be great if we could sort table by headers, so I can easily see all MISMATCH lines.

Alternatively, a way to filter table would be good to hide everything other than a chosen status.

Currently, headers are clickable but no sort or filtering happens.

Add directly hash comparison by file

This is more helpful when you have some files with the same name. When you find them you can check one of them firstly, then you drag another one into HashCheck tab and let them comparing.

Add file hash property handlers

Would it be possible to add custom property handlers so that there can be custom windows explorer columns that show a file checksum?

The Windows API for property handler is described here:
Creating Custom Properties

There would be 4 different custom columns:

  • CRC-32
  • MD4
  • MD5
  • SHA-1

When a user selected one of those columns to appear, it would calculate the chosen checksum, and display it to the user.

Here's a project that does something similar:
Explorer column handler shell extension in C#

Here's an idea of what it would look like:

There might be some issues when hashing many large files. A filesize limit, delay, or caching could be implemented to help handle this.

[Request] Add a "Compare hashes..." option to the context menu when two or more files are selected.

Use case: I have multiple files which I suspect are identical but I want to confirm/deny my suspicion based on the files' hashes. I could go to the hashes tab in properties and eyeball the hashes side by side, but since I'm a lazy and error-prone human I want the computer to do the work for me and pop up a simple dialog indicating "Identical!" or "Not Identical!" and maybe list the files and their hashes as an added FYI.

Interested to know if anyone else has this use case; I may just be a weirdo. 😏

Respect file hierarchy

Please sort the files as they are in the file hierarchy on the drive before writing the checksums to a file.

Feature: Checking multiple hash files; single instance.

I wish to request the ability to combine or reuse the same hash checking window when checking multiple .hash files, so that several / hundreds of new windows aren't spawned.

Example: I have a filename.ext.sha512 hash for every file that's larger than 500 MB on a certain harddrive. If I were to shell execute a hundred of these .sha512 files, it would spawn a hundred hash check processes and windows. Instead, the same process and window should be reused for all hundred files, adding each to the list of files to be checked. Optionally also removing duplicate entries in case the same file is opened twice.

Windows upgrade breaks HashCheck

I upgrade my windows 10 to 1709 recently and HashCheck stopped working.

A brief check reveals that windows upgrade process has deleted Windows\(System32|SysWOW64)\ShellExt folders which contains HashCheck.dll.

Installing HashCheck.dll into Program Files and Program Files (x86) folders should fix this issue.

What is the status of HashCheck development? Is there a fork of this that is being actively developed?

Hi.

What is the status of HashCheck development? Obviously, there are issues and feature requests being submitted and annoying bugs like #15, but there doesn't appear to have been any development activity for well over a year, if not 2 years. No disrespect intended, but I am curious. I wish I had the programming chops to jump in and help.

Perhaps life has taken some turns and gurnec simply doesn't have the time to spend on this project. Does anyone know if there is a fork of this that is being actively developed?

-ZPNRG

[BUG] OS Updating Breaks HashCheck

my windows 10 just updated to the latest version and now I have a "Windows.old"

hashcheck was left behind in "Windows.old" I found this out when I started autoruns from sysinternals autoruns and it showed that the dll files for hashcheck were missing

installing a new copy of hashcheck put the new files in place so it works again just stupid microsoft being dumb thats all

Error during installation

"An unexpected error occured during installation"
WinXP SP3, 1GB ram, AMD Thunderbird (with no SSE instr.). Clean install.

May be the SSE instruction the problem? Is possible to compile without that?

An obvious newbs question: How to install and run HashCheck?

I've downloaded and un-zipped the files. But after perusing the files at the level of their names and file types it's not clear whether an executable installation file exists nor can I find notes on where to store the files/directories and run the tool. Can someone help, please?

Apologies for this low level request for assistance in advance.

SHA-3 support

Thanks for you work gurnec! Can you add sha-512 too?

Support for a certain generated MD5 files

I have these kind of MD5 files:

; Generated by FastSum - an extremely fast checksum utility.
; Go to www.fastsum.com to get your own copy for free.
;
; UTF8: *01 - 하늘 사이로.flac
6873C64A076D7B6CB772AAACDC25F1C3 *01 - ?? ???.flac
; UTF8: *02 - 너에게 보낸 내 마음.flac
83DA161F6955D0777DA2CBBD1C53EA33 *02 - ??? ?? ? ??.flac
; UTF8: *03 - 슬픔, 물 위에 잠들다.flac
1AB18B1B725D29C1EA5EFD6B6F451EE4 *03 - ??, ? ?? ???.flac
; UTF8: *04 - 너의 마음속엔 강이 흐른다 (River Flows In You Feat. Ruvin).flac
0D557D1407DAF5BFC50D93D6E856F230 *04 - ?? ???? ?? ??? (River Flows In You Feat. Ruvin).flac
; UTF8: *05 - 그 끝에는 내가 잊을까.flac
6650853BB2DBFDEAB07444F87BE72111 *05 - ? ??? ?? ???.flac
; UTF8: *06 - 잊혀지는… 잊혀질 시간들.flac
87CEE127D7F9B0A7986720C5D520B8B4 *06 - ????? ??? ???.flac
; UTF8: *07 - 나에게로(To My Heart).flac
72531843FF5C7D926690459C0ABD5BAF *07 - ????(To My Heart).flac
; UTF8: *08 - 함께 떠나다(How Could I).flac
F664030400B489971C5A2DD3043E6252 *08 - ?? ???(How Could I).flac
; UTF8: *09 - 잠시(Just For A While).flac
1AC58B508FFF0858F27E24F98F25646F *09 - ??(Just For A While).flac
60E4E27E6090EF08604F05672420C123 *10 - Dream.flac
; UTF8: *11 - 널 그리다 (The Things I Really).flac
D0D027BAE2E44C2B32627D2D83F7BA9A *11 - ? ??? (The Things I Really).flac
; UTF8: *12 - 사랑하기를 (Beloved) By 정재욱.flac
F4B2C019E544C193B7C1B862B7E279B3 *12 - ????? (Beloved) By ???.flac
; UTF8: *13 - 어떻게 날 잊어야 하는지.flac
3FF860AA5CB9B9F7E288BD64E7F1A09F *13 - ??? ? ??? ???.flac

but it seemed that when you open the MD5 file with HashCheck, it wouldn't read the UTF8 name, but instead the question marks name, so they'd always appear as unreadable because files with those question marks names didn't exist.
So yeah, would you please add support for such MD5 files?

Give a choice of which specific hash algos to use?

Hi,

Is it possible to remove (or disable by default) CRC-32 and MD4 from the app? These hash functions are obviously obsolete nowadays. Also, do you have plans to add SHA-512 support? And possibly let a user to choose which specific hash functions to use by default (through additional options)?

Thanks!

Can you make it all capital

A lot of the original file codes are all capital, it would really be a lot easier if HashCheck was too.

sorry for bad english

Add support to open more checksum file types.

Can you add support to open more checksum file types? Not only that but add support for differently formatted checksum files as well?

For example... support for both
{checksum} {file name}
{file name} {checksum}

Upgrade the icon

The current dates from Windows XP

There's a really good candidate from imageres.dll
capture

The Checksum doesn't respect my "View Settings".

Hello, with HashCheck Shell Extension at the time of creating a Checksum.md5 (or any other), this was generated respecting the order in which I have the files.

But now I've discovered that this project exists (HashCheck - Thank you so much for this 👍 ), and I've noticed that the order has changed.

Here's an example of what I'm trying to say:

// HashCheck Shell Extension (v2.1.11)
XXXXXX *FileA.exe
XXXXXX *FileB.exe
XXXXXX *FolderA\FileA.dsr
XXXXXX *FolderB\FileB.dspl
XXXXXX *FileA.txt
XXXXXX *FileA.dll
XXXXXX *FileB.dll


// HashCheck (v2.4.0.55)
XXXXXX *FileA.dll
XXXXXX *FolderB\FileB.dspl
XXXXXX *FileA.exe
XXXXXX *FileA.txt
XXXXXX *FileB.dll
XXXXXX *FolderA\FileA.dsr
XXXXXX *FileB.exe

When I installed (and it asks me to restart), the order was still perfect...but now it has stopped respecting the order and is very annoying.



  • Edited 02 👀
  • The other PC has the same edited options as me (folder and other things)...so I rule out the possibility that the error is due to an OS configuration.

  • Edited 03 👀
  • This problem occurs even with a clean installation of Windows 10 (RS1, LTSB 2016 and RS4). 😢

  • Edited 04 👀
  • The problem happens in: "v2.4.0" and "v2.4.0.24-beta".
  • The problem doesn't happen in: "v2.3.2" ("v2.3.1", "v2.2.3" and "v2.2.2").

  • Edited 05 👀 ❕
  • HDD and 1 Core: no problem. ✔️
  • HDD and 4 Core: no problem. ✔️
  • SSD and 1 Core: The problem I'm saying appears. ❗️
  • SSD and 4 Core: The problem I'm saying appears. ❗️
  • All tested on a VM with Windows 10 (x64 - RS4).

Show current folder in verification windows

When a hashfile is verified, only relative paths are shown - which is nice. But I think there should be one line stating what is the root of the current subtree that is checked. If you check similar files on different drives it is sometimes hard to find out which verification belongs to which folder/drive.

Ability to resize window

It would be very useful to be able to resize the checksum file window, so we can see more lines of the table at one time.

Currently it is a fixed size.

Save result of verification to local disk

When I run a verification of a checksum file generated by searching a large number of folders the result can be very long. There should be a way to export e.g. "mismatch" and "unreadable" results to a .csv file (or other usable format).

choco version 2.4.0.20181230 ?

latest version on chocolatey (maintained by Thilas) is 2.4.0.20181230
Is this version legit ? Latest version reported here is from 2016 (v2.4.0.55)

Request for creation or checking of multiple hash checksum files to be queued so only one at a time is executed

Hi.

I made a comment in the thread for Issue #13 (Queue multiple file check/creation enhancement), but the bulk of the issue there seemed to surround having individual hash checksum files created for each file instead of queue-ing in the sense I am thinking about.

I would like to have just the simple queue-ing aspect. Many times, I want to check a number of hash checksum files (.sha1 or .sha256) that are large or are for large files, like Windows ISOs. If I just double-click them one after another and run them to have HashCheck check the hash checksum files, then the HD (spinning disks) is thrashed. So, I have to run them manually 1 by 1 after each finishes. It would be nice if HashCheck would queue the operations so that after a currently running hash task finishes (creating a hash checksum file or checking a hash checksum file), then it will process the next one that I had started, and keep creating or checking one by one until all of the operations I had started have completed.

To be clear, this would ideally work for creating multiple hash checksum files one after another or double-clicking on existing hash checksum files one after another to be checked. Either way, I would like to start the process for all of the hash checksum files I want created or checked, but then just have HashCheck process them serially 1 by 1 and not have them all going (or trying to work) in parallel (at the same time). Like I said, even fast spinning drives are hammered if the the hash checksums being created or checked are for large files or there are lots of decent sized files and two or more of these hash checksum files being created or checked are processing at the same time. Therefore, being able to start the processes (creating or checking) and have HashCheck queue them and only do one at a time would be nice.

Let me know if there are any questions.

Thank you for the work on HashCheck.

-ZPNRG

Queue multiple file check/creation

Not really an issue but more of a feature request. Any chance of adding the ability to queue multiple checksum files so that they are verified 1 by 1 (or more if you add an option to) instead of all at once. Same goes with creating a checksum for multiple files.

Ex.
Creating... filename1.jpg ---> filename1.jpg.sha1 DONE
Queued... filename2.jpg --->
Queued... filename3.jpg --->

Verifying... filename1.jpg ---> filename1.jpg.sha1 MATCH/MISMATCH/UNREADABLE
Queued... filename2.jpg --->
Queued... filename3.jpg --->

While I know you can create a batch checksum with multiple files into one single file, there are times where I prefer a single checksum per each file.

Either way LOVE how you are keeping this updated! Thanks!

Display the drive letter and name

I use this tool to compare files on different drives unfortunately it doesn't display the drive letter.
I could add it myself but I'm not sure if you are accepting patches and how easy is to build the installer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.