rhash / RHash

Great utility for computing hash sums
http://rhash.sf.net
BSD Zero Clause License
585 stars 116 forks source link

Incorrect hash type auto-detection when checking hashes #226

Open Markus74a opened 1 year ago

Markus74a commented 1 year ago

This bug happens with RHash 1.4.3 and with the lastest GitHub version, both on Windows and Linux.

Contents of manjaro-kde-22.0.1-230124-linux61.iso.sha1:

9d041139d6966a16f2ea83af295afd2d02c00c73  manjaro-kde-22.0.1-230124-linux61.iso

Executed shell commands:

cp manjaro-kde-22.0.1-230124-linux61.iso.sha1 manjaro-kde-22.0.1-230124-linux61.sha1

rhash -c manjaro-kde-22.0.1-230124-linux61.iso.sha1 --sha1
rhash -c manjaro-kde-22.0.1-230124-linux61.iso.sha1
rhash -c manjaro-kde-22.0.1-230124-linux61.sha1

The contents of the *.sha1 file stay the same, only its name changes.

Markus74a commented 1 year ago

The same happens with:

rhash --percents --speed -c manjaro-kde-22.0.3-230213-linux61.iso.sha512 --sha512
rhash --percents --speed -c manjaro-kde-22.0.3-230213-linux61.iso.sha512
rhash --percents --speed -c manjaro-kde-22.0.3-230213-linux61.sha512

1st and 3rd command lines achieve 430 MB/s, 2nd command line only 36 MB/s

rhash commented 1 year ago

Hello. I can't reproduce the bug with the latest version from the master branch.

To simplify testing, I've added the feature 9a6c70c95066d31dc89d4f4d614e79527fd06780 to print all the hash functions being calculated on the very verbose (-vv) log level:

rhash -vvc manjaro-kde-22.0.1-230124-linux61.iso.sha1

--( Verifying manjaro-kde-22.0.1-230124-linux61.iso.sha1 )----------------------
Calculating: SHA1
manjaro-kde-22.0.1-230124-linux61.iso               OK
--------------------------------------------------------------------------------
Everything OK
Markus74a commented 1 year ago

I just did a fresh installation of MSYS2 on Windows 11, installed the UCRT64 environment, switched to the mintty.exe / bash.exe shell and executed:

git clone https://github.com/rhash/RHash.git
cd RHash
./configure --enable-static --disable-gettext --enable-openssl
make

Then I switched to a WindowsTerminal.exe / cmd.exe shell and executed:

C:\Users\me\Downloads>C:\msys64\home\me\RHash\rhash.exe --percents --speed -vvc manjaro-xfce-22.0.3-230213-linux61.iso.sha512  

--( Verifying manjaro-xfce-22.0.3-230213-linux61.iso.sha512 )-------------------                                               
Calculating: WHIRLPOOL, GOST12-512, SHA-512, EDON-R512, SHA3-512, BLAKE2B                                                      
manjaro-xfce-22.0.3-230213-linux61.iso              OK                                                                         
Calculated in 95,705 sec, 40,24 MBps                                                                                           
--------------------------------------------------------------------------------