filehash icon indicating copy to clipboard operation
filehash copied to clipboard

Bug with SHA256 checksums

Open nightwatchcyber opened this issue 3 years ago • 1 comments

On MacOS, "sha256sum" generates a file with two spaces between the hash and the filename. This causes filehash to fail verification while sha256sum works fine. This is due to the fact that text files are marked with a " " / space, and binary files with "*": https://linux.die.net/man/1/sha256sum

To replicate, run the following commands:

cd testdata/
sha256sum *.zip >mac_test.txt
sha256sum --check mac_test.txt
chkfilehash -c mac_test.txt

Output from sha256sum:

lorem_ipsum.zip: OK

Output from fileshash:

Traceback (most recent call last):
  File "/usr/local/bin/chkfilehash", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/filehash/filehash_cli.py", line 100, in main
    process_checksum_file(args.checksums, hasher)
  File "/usr/local/lib/python3.9/site-packages/filehash/filehash_cli.py", line 82, in process_checksum_file
    results = hasher.verify_checksums(checksum_filename)
  File "/usr/local/lib/python3.9/site-packages/filehash/filehash.py", line 268, in verify_checksums
    actual_hash = self.hash_file(filename)
  File "/usr/local/lib/python3.9/site-packages/filehash/filehash.py", line 176, in hash_file
    with open(filename, mode="rb", buffering=0) as fp:
FileNotFoundError: [Errno 2] No such file or directory: ' lorem_ipsum.zip'
```

nightwatchcyber avatar Apr 18 '21 20:04 nightwatchcyber

I added a pull request with a fix

nightwatchcyber avatar Apr 18 '21 20:04 nightwatchcyber