microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.71k stars 6.52k forks source link

Generate/Verify checksums from file #57

Open d1n13l opened 5 years ago

d1n13l commented 5 years ago

Without a additional tool you can´t fastly verfiy files with a checksum. You can only use the cmd:

eg. CMD: certutil -hashfile SHA256

Possible algorithm: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

It would be great to have these settings in a new tab "Checksum" by right clicking on a file, where all checksums listed (which can be calculated by certutil) .

There should be a field where you can copy in an existing checksum and compare it with the calculated ones. If it matches, the matching hash could be marked.

glen-84 commented 5 years ago

I'm using http://implbits.com/products/hashtab/.

aster94 commented 5 years ago

Check also this https://www.binaryfortress.com/HashTools/

belg4mit commented 5 years ago

Wasn't this one of the options in Send to X? If not, that seems like a very good place for it to live.

crutkas commented 4 years ago

Powershell has this, I want this as well. awesome idea!

crutkas commented 4 years ago

@belg4mit good idea!

crutkas commented 4 years ago

Feels like a good addition for #641 as a larger enhancement ... powermenu

matthewmazzoleni commented 4 years ago

it would be great to add this to the file property tab too.

miguelsantos commented 4 years ago

An interesting option, which I currently use, is Hashcheck. It adds an item in the context menu and a tab on the Property window. It is also capable of calculating hashes for folders, recursively. Supports all the suggested algorithms and is BSD 3-Clause licensed.

soyfrien commented 3 years ago

I was about to open this issue, but want to point out that it will duplicate this functionality for anyone with 7-zip installed so it'd be nice to disable the feature or have PT replace basic 7-zip functionality.

example of shell extension for hashing 7-zip shell extension for folder context menus in File Explorer includes the hashing suite

davior commented 3 years ago

this can be easily added to your context menu via reg hacks.. checkout :

How to Add Hash to Context Menu of Files in Windows 8 and Windows 10

Aaron-Junker commented 3 years ago

this can be easily added to your context menu via reg hacks.. checkout :

How to Add Hash to Context Menu of Files in Windows 8 and Windows 10

You can create a utility from it, when you want

merlinbeedell commented 3 years ago

Sure wish these hash values could be displayed in the Edge Browser's download file list. You could immediately verify the app you have just downloaded matches the website that you got it from, without skipping out to file explorer. But I guess PowerTools do not bind with browsers. Still - thought I would mention it anyway!

soyfrien commented 3 years ago

this can be easily added to your context menu via reg hacks.. checkout : How to Add Hash to Context Menu of Files in Windows 8 and Windows 10

You can create a utility from it, when you want

Did anyone read this? Never mind, it should wait until the requisite PowerShell 7 is always available where ever PowerToys is installed.

See official documentation describing what's soon available: https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-7.1&viewFallbackFrom=powershell-6

Limyx826 commented 2 years ago

Suddenly I thought of this feature and planned to open a new one. Glad to see someone already proposed this even though it is years ago.

rollingmoai commented 2 years ago

Just to add here, as most solutions here are freeware or unmaintained. The one that is open source and actively maintained right now is @namazso's OpenHashTab.

zotabee commented 2 years ago

This feature is definitively needed for every power users ! It's a shame it has never built-in directly in Microsoft Windows systems.

Hopefully it will be implemented in standard in PowerToys one day and take the best from gurnec/HashCheck, HashTab and namazso/OpenHashTab which all have great functionalities.

tbayart commented 1 year ago

Generating the checksum is a good idea, but what is the purpose ? The checksum must be useful for something after it was created.

Many years ago, i worked on a tools generating hash for files. There were two purposes for the hashes :

soyfrien commented 1 year ago

Finding collisions in MD5 and SHA-1 hashes may be too trivial for file integrity (thinking as seen alongside downloads).

merlinbeedell commented 1 year ago

What is the purpose? When downloading many things from the internet, they provide a hash for the file being downloaded saying "please verify the hash of your download matches to ensure it has not been tampered with". But if you have to go digging to find a hash utility in Windows - then you just hope that your download is correct.

soyfrien commented 1 year ago

To make sure an image or executable hasn't been tampered with is one example. A more contemporary situation might be giving a program access through a software firewall, this would be an easy way for it to detect a new binary.

I'm not sure what the point would be, probably different for everyone. Just seems like a common part of a power user's toolkit.

But I would want it to be optional to not clutter the context menu.

FranAFV commented 1 year ago

It will be great combine this with File Locksmith. These are not related options, but it make sense to me combine this type options in a ui for Advance File Options/Properties.

Jay-o-Way commented 1 year ago

Have a look at Thio Joe's video: https://www.youtube.com/watch?v=aNDw1QMV-lM

Jay-o-Way commented 1 year ago

The Files app has this built in: image

EliasKotlyar commented 1 year ago

I would also look forward to have this feature added. It really makes identifying duplicate files much easier. If i can help, tell me, i have a lot of Dev Experience. Can make a PR if needed

davidegiacometti commented 10 months ago

A nice concept from @astropingo can be found here https://github.com/microsoft/PowerToys/issues/30317

Hitmanforrent commented 8 months ago

I would also really look forward to this. I use OpenHashTab and while it is nice I think a PowerToy would make hashing files more accessible for more people.

Limyx826 commented 8 months ago

I suddenly realised that this issue only meant to generate hash but not verify with said hash.

o-l-a-v commented 6 months ago

1+ for this feature, I'm currently using https://github.com/idrassi/HashCheck.

I wish for fast and modern checksum algorithms like:

I see little reason to implement deprecated / "not considered collision secure" algorithms, like CRC, MD2, MD4, MD5 and SHA-1. But include:

Limyx826 commented 6 months ago

I'm also using HashCheck. That's why I support the inclusion of hash generation/checking tool in PowerToys as ways of checking for file legitimacy or integrity.

richardhttps commented 3 months ago

To make sure an image or executable hasn't been tampered with is one example. A more contemporary situation might be giving a program access through a software firewall, this would be an easy way for it to detect a new binary.

I'm not sure what the point would be, probably different for everyone. Just seems like a common part of a power user's toolkit.

But I would want it to be optional to not clutter the context menu.

I use it to quickly lookup the hash on VirusTotal instead of uploading the file