Menu

#13 CRC64 - hash for file incorrect

v1.7.0
closed
5
2021-01-26
2021-01-26
No

Win7_x64
Installed "jacksum-1.7.0-windows-explorer-integration-1.4.0.zip (February 28, 2016)"
I choose "crc64", Jacksum counts it:
"
ae55c63a38c15908 135560 D:\temp\ExperienceIndexOK_x64_p.exe


Created with Jacksum 1.7.0, algorithm=crc64
"
However, HashTab shows a different hash sum:
60A132B7AC12C2FA

WHAT'S WRONG? JACKSUM OR HASHtAB?

Discussion

  • Johann N. Löfflmann

    Ticket moved from /p/jacksum/feature-requests/19/

     
  • Johann N. Löfflmann

    Hi Sergey,

    thank you for your support request. Let's see ... Jacksum implements the crc64 that is defined in ISO 3309. See also Jacksum's manpage by entering:

    jacksum -h crc64
        crc64         algorithm:   CRC-64
    ...
    comment:     this algorithm is described in the
                                   ISO 3309 standard.
                                   (generator poly is x^64 + x^4 + x^3 + x + 1)
    

    Since Jacksum also supports the Rocksoft Model CRC Algorith model, you can verify it by passing the explicit parameters as defined in ISO 3309 for that model. Example:

    jacksum -a crc:64,1B,0,true,true,0 -X 1-9.txt
    46A5A9388A5BEFFE        9       1-9.txt
    

    I didn't find any documentation about the crc64 implementation of Hashtab and since it is not open source, and we cannot look into their source code. However, with the help of Jacksum I found out that they don't implement the crc64 as defined in ISO 3309. Actually they implement the crc64 which is known as crc64/WE. See also https://reveng.sourceforge.io/crc-catalogue/all.htm#crc.cat.crc-64-we

    With Jacksum you can calculate also the crc64/WE by entering

    jacksum -a crc:64,42f0e1eba9ea3693,ffffffffffffffff,false,false,ffffffffffffffff -X 1-9.txt
    62EC59E3F1A4F00A        9       1-9.txt
    

    which matches the check value also on reeng's page - who IMHO did a great job to gather his page. he value also matches the one that Hashtab calculates.

    So both Hashtab and Jacksum are right, both calculate a crc64, but just with different crc polynomials and different crc parameters. BTW, Jacksum actually supports ALL crc variations, also the CRC64/WE as decribed above.

    Kind regards,
    Johann

     
    ❤️
    1
  • Johann N. Löfflmann

    • status: open --> closed
    • assigned_to: Johann N. Löfflmann
    • Group: Next_Release --> v1.7.0
    • Priority: 9 --> 5
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.