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

Modern Alternative #420

Open
ossie-git opened this issue Dec 13, 2024 · 2 comments
Open

Modern Alternative #420

ossie-git opened this issue Dec 13, 2024 · 2 comments

Comments

@ossie-git
Copy link

As hashdeep hasn't been updated for nearly a decade, I was looking for an alternative and ran into hashit which supports many additional features + is cross-platform as well. It also supports hashdeep's output format (among others)

@ossie-git ossie-git changed the title Alternative Modern Alternative Dec 13, 2024
@sergeevabc
Copy link

sergeevabc commented Mar 25, 2025

Modern? In my opinion, Hashit by @boyter is a messed up piece of software. But yes, one could argue that this is the very definition of being modern today.

First of all, Hashit is built with Go language. Go is a bad choice if you make a solution for the masses, because Go team has cut off and betrayed Windows 7 users recently. Lo and behold, Go 1.21+ is not able to compile for that OS. The very OS people use outside of US & EU rich ghettos. You should travel more to witness the true state of our world.

And Go team will do it again, they will cut off Windows 10 users tomorrow. Be sure, without any regret, because they care not about people, but about being modern. As a result, the recent version of Hashit 1.4.0 crashes on Windows 7. To make it work, you either have to compile it yourself or patch the binary. A burden that few users can bear.

$ hashit.exe
Exception 0xc0000005 0x8 0x0 0x0
PC=0x0

runtime.asmstdcall(0x22fcf8)
        /opt/homebrew/Cellar/go/1.22.3/libexec/src/runtime/sys_windows_amd64.s:75 +0x7a fp=0x22fc80 sp=0x22fc60 pc=0x4707da
rax     0x0
rbx     0x7fc978
rcx     0x881208
rdx     0x20
rdi     0x7fffffde000
rsi     0x22fe78
rbp     0x22fdc0
rsp     0x22fc58
r8      0x0
r9      0x22fee8
r10     0x9aa2e8
r11     0xc000004000
r12     0x22fec8
r13     0x0
r14     0x7fc000
r15     0x3
rip     0x0
rflags  0x10293
cs      0x33
fs      0x53
gs      0x2b

Hashdeep, on the other hand, works well even in poor Brazilian favela, it's future-proof. Just like HashMyFiles by Nir Sofer, who even provides a binary for Windows 98! Overkill, huh? Yes, but now you know who really cares about technology becoming widespread outside the golden billion so that even a monk in Tibet can hash precious digital books.

UX. Compare Hashdeep intuitive approach to hashing with its lack of Hashit:

$ sha256deep -b *.txt
ccf45b44c83bcc337e26321aa1491606990f8fecc43048f2dfd7f06b9d828473  birds.txt
7f36bc0c42daf8e2a91ef9565b0ecd23e6691bc7e2eb07a6097c93bb8c2327f3  pájaros.txt
31a51f37aa52fc8687a8ec33f0de0573a64134044abb74d14e92713ae8ee6227  vögel.txt
fff9c09f2a3df7df67c1b0fe5e3758265bbf4f053135759a0a6fb2c891302df2  птицы-vögel-pájaros-birds.txt
63f9f5c3830d362d77bcc916fb995c35c92810488edcdd21d36c11f52488c6ae  птицы.txt

$ hashit --hash sha256 *.txt
ERROR: file or directory issue: *.txt CreateFile *.txt: The filename, directory name, or volume label syntax is incorrect.

Nerds are happy, of course, because they are aware of a long workaround…

$ fd -e txt -x hashit --hash sha256 --format sum {}
63f9f5c3830d362d77bcc916fb995c35c92810488edcdd21d36c11f52488c6ae  птицы.txt
fff9c09f2a3df7df67c1b0fe5e3758265bbf4f053135759a0a6fb2c891302df2  птицы-vögel-pájaros-birds.txt
31a51f37aa52fc8687a8ec33f0de0573a64134044abb74d14e92713ae8ee6227  vögel.txt
7f36bc0c42daf8e2a91ef9565b0ecd23e6691bc7e2eb07a6097c93bb8c2327f3  pájaros.txt
ccf45b44c83bcc337e26321aa1491606990f8fecc43048f2dfd7f06b9d828473  birds.txt

But again, the wrong sort order.

P. S. Remember Michael Jackson's song “They don't care about us”?

[

@boyter
Copy link

boyter commented Mar 25, 2025

Interesting that the globbing is not working for you, it does work for me.

$ hashit --hash sha256 *.md 

workflow.md (23 bytes)
     SHA256 88f1a7fc5794e6ce58ddb69deb1b2405aed534201c0f9293b90998646b1d4a49

README.md (2657 bytes)
     SHA256 13ca8cd8121601252e362fd5284ee714049d4832bc282322258bb81ac0d01d3a

workflow-cmake.md (147 bytes)
     SHA256 014c737e561de5e0c1eff8af0c5d957e6c64804cd48211a95fc8a45920c612a7

WISE_CLI_HELP.md (6629 bytes)
     SHA256 8f4f2ab0b49ab72cf333f32338557782ac5da104677df58a81f11afdf8265b32

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

3 participants