Blog

  • FileHasher for Windows 0.4.0: now on the Microsoft Store, Chocolatey, and Scoop

    FileHasher for Windows 0.4.0 is out, and it is now installable four ways: from the Microsoft Store, winget, Chocolatey, or Scoop. Under the hood the app has moved to .NET 10, which makes the download about a quarter smaller, and the window finally behaves properly on high-resolution displays.

    Four ways to install it

    Until now the only managed route was winget. There are now four, and they all deliver the same signed build; pick whichever matches how you already install software.

    The Microsoft Store is the simplest, and it keeps itself updated. If you prefer the command line, pick one of these; you do not need more than one.

    winget install FSPProductions.FileHasher
    choco install filehasher
    scoop bucket add fsantiago https://github.com/fsantiago07044/scoop-bucket
    scoop install filehasher

    Those differ in more than syntax. winget, Chocolatey and the Store all install the signed MSI machine-wide, into Program Files, with a Start Menu entry and an entry in Add/Remove Programs. Scoop instead unpacks the portable build into your own user profile: nothing touches Program Files, nothing appears in Add/Remove Programs, and no administrator rights are needed. If you keep a machine deliberately clean, that is the one to reach for.

    Smaller, on a supported runtime

    The app has moved from .NET 8 to .NET 10, the current long-term-support release. Nothing about that is visible while you use it, and there is still no runtime to install: FileHasher remains a single self-contained executable. What you will notice is the size. The installer dropped from 62.9 MB to 45.8 MB, a little over a quarter smaller, because the newer runtime trims more of what the app never calls.

    It now scales properly

    If you run Windows at anything above 100% display scaling, which most laptops and every high-resolution monitor do by default, earlier versions did not treat you well. The text grew with the display but the layout did not, so buttons truncated to a single word, checkbox labels were cut mid-sentence, and the sidecar format options overlapped each other. It was ugly and, at 200%, close to unusable.

    0.4.0 fixes it: the window and everything in it now scale together. I tested at 100%, 150%, 175% and 200%, the last on a 2560×1600 display, and the layout holds at all of them.

    The same build, wherever you get it

    One thing worth saying plainly for an app whose whole job is verifying files: every one of those channels installs the identical binary, code-signed by FSP Productions, LLC. Each release publishes a .sha256 file next to every download, and the package definitions for winget, Chocolatey and Scoop all pin that checksum, so an installer that did not come from me fails before it runs. You can also check by hand, with FileHasher itself: hash the installer you downloaded and compare it against the published sidecar.

    FileHasher is free and MIT-licensed. The FileHasher page has the full feature list, the support page covers both the Windows and macOS versions, and the source, changelog and signed downloads are on GitHub. The previous release, 0.3.1, added sidecar verification and the in-app help window.

    If something misbehaves, the help window’s Support topic reaches me with your version number already attached.

  • FileHasher for macOS 1.0.2: now also available outside the App Store

    FileHasher for macOS now comes in a standalone edition: a notarized direct download from GitHub Releases, no App Store account required. It updates itself automatically, and it’s built from the same open source code as the store version, with identical features.

    Two editions, one app

    Some people live in the Mac App Store; some prefer a plain download they can fetch, archive, and install anywhere. FileHasher now serves both. The Mac App Store edition stays exactly as it is: free, updated through the store, and making no network connections at all. The new standalone edition trades that for independence: download the zip, drop the app in Applications, and it keeps itself current by checking for updates on its own (you’re asked once whether to allow automatic checks, and there’s always a manual “Check for Updates” in the menu).

    Verify the download with the app itself

    A hashing tool’s downloads ought to be verifiable, so every release on GitHub ships with a .sha256 sidecar written in FileHasher’s own format. Point FileHasher at the downloaded zip, and it will confirm the file matches the published hash. The app is also signed with my Developer ID and notarized by Apple, so macOS verifies it independently before first launch.

    Links

  • FileHasher for macOS is now open source

    FileHasher for macOS is now fully open source. The complete source code is on GitHub at github.com/fsantiago07044/filehasher-macos, under the MIT license, the same terms as its Windows sibling.

    What’s in the repo

    This is the whole workshop, not just the code. Alongside the SwiftUI app and its hashing engine you’ll find the automated test suite (known hash vectors for all four algorithms, sidecar round-trips, every verification verdict), the project definition, the script that generates the macOS app icon from the original Windows artwork, and the App Store paper trail: listing copy, review notes, screenshots, and the screen recording that went to App Review. If you’ve ever wondered what shipping a small app to the Mac App Store actually involves, it’s all in there.

    Verify everything

    A hashing tool should hold itself to its own standard, so the repository does: every commit and release tag in the project’s history is GPG-signed, and GitHub shows them as verified. The current Mac App Store build (1.0.1) was produced from this repository’s v1.0.1 tag.

    Links

    If you read the code and spot something worth fixing or improving, the repo’s issue tracker is open.

  • FileHasher for Windows 0.3.1: verify mode, a sharper results list, and built-in help

    FileHasher for Windows 0.3.1 is out. It is the biggest update since the app landed on winget: sidecar verification is now built in, the results list finally behaves like a power tool, sidecars got smarter, and the same in-app help system that came to the Mac earlier this month is now on Windows too.

    Verify what you hashed

    FileHasher has always written sidecar checksum files next to the files it hashes. 0.3.1 closes the loop: a new Verify Sidecars button re-hashes your files and compares the results against those sidecars, turning a folder full of checksums into an actual integrity audit. Every file gets a verdict in the results list: OK, MISMATCH, MISSING FILE (a sidecar whose file is gone), or NO SIDECAR (a file the scan covers that has no sidecar yet). That last one matters: you see gaps in your coverage, not just corruption.

    The algorithm is detected per sidecar from the hash itself, so a folder holding a mix of MD5, SHA-1, SHA-256, and SHA-512 sidecars verifies correctly in a single pass, regardless of what the algorithm selector happens to be set to. The hash alone decides pass or fail; a sidecar whose recorded date or size differs gets an informational note instead of a failure, because a legitimately copied file changes its timestamps without changing its content.

    A right-click that earns its keep

    Every row in the results list now has a context menu: open File Explorer with the file pre-selected, open PowerShell or Command Prompt in its folder, copy the hash, or copy the full path. Double-clicking a row jumps straight to the file in Explorer. Small things, but they remove the constant detour of retyping paths somewhere else after hashing.

    Sidecars, smarter

    A third sidecar format joins the familiar two: HASH *filename *modified *size, for when a sidecar should attest to more than the bytes. The modified timestamp is written in ISO-8601 UTC, matching the CSV export. And the suggested sidecar extension now follows the selected algorithm (.md5, .sha1, .sha256, .sha512), along with the format label; a custom extension you typed yourself is never overwritten.

    The help window comes to Windows

    Like the macOS app got in 1.0.1, the Windows app now has real built-in help: press F1 or use the Help menu for a topic window covering everything the app does, plus links to the support site and privacy policy. The Email Support link pre-fills its subject with the exact version you are running, read from the app itself, so support mail arrives self-identified.

    Where to get it

    The quickest path is winget:

    winget install FSPProductions.FileHasher

    (or winget upgrade FSPProductions.FileHasher if you already have it). Prefer a manual download? The v0.3.1 release on GitHub has the signed MSI installer plus a signed portable exe and zip, and every asset ships with its own .sha256 sidecar, so you can verify the download with FileHasher itself. The app is free and MIT-licensed, with the full changelog and source in the same place. More background on the FileHasher page.

    If something misbehaves, the help window’s Support topic reaches me, version number already attached.

  • FileHasher for macOS 1.0.1: now universal, now with help

    FileHasher for macOS 1.0.1 is now live on the Mac App Store, and it brings the two upgrades I most wanted to ship since launch: the app is now a universal binary, and it finally has real, built-in help.

    Native on Apple Silicon

    Version 1.0.0 shipped as an Intel-only build, which Apple Silicon Macs ran through Rosetta 2. It worked, but translated is not the same as native. As of 1.0.1, FileHasher is a universal app: one download, two architectures, each running natively. Before release, the same build was tested natively on both an Apple Silicon Mac and an Intel Mac, with the full engine test suite passing on each; hashing gives you no room to be approximately correct.

    Built-in help

    The Help menu used to produce the stock “help isn’t available” message, which always bothered me. It now opens a proper help window (also reachable with Cmd-?) with topics covering everything the app does: choosing targets, folder scan options, the four hash algorithms, sidecar formats and conflict handling, verification verdicts, CSV export, logs, and how the app’s privacy and sandboxing work.

    One small touch I like: the Email Support link in the help window pre-fills the subject line with the exact app version you are running, read from the app itself at runtime. Every support email arrives self-identified, and the mechanism can never drift out of date between releases.

    Where to get it

    FileHasher is free on the Mac App Store (macOS 13 or later). If you are new to it: the app computes cryptographic hashes for files and folders, writes standard sidecar checksum files next to them, and verifies everything later, so you can prove a download or archive has not changed since you hashed it. More on the FileHasher page, including the Windows sibling it descends from.

    If you try it and something feels off, the help window’s Support topic knows how to reach me.