Now it is possible to use -md5 and -sha3 during the a (add file)
MD5 for backward compatibility (widespread use), SHA3 (256 bit) for the latest NIST standard.
Remember: use zpaqfranz l z:\1.zpaq -checksum -summary to see the hashes stored inside the archive
zpaqfranz a z:\1.zpaq c:\nz -sha3
Maybe a -test
zpaqfranz a z:\1.zpaq c:\nz -sha3 -test
Then
C:\zpaqfranz>zpaqfranz t z:\1.zpaq -verify
zpaqfranz v52.19-experimental with HW BLAKE3, compiled Aug 21 2021
franz:-verify
z:/1.zpaq:
3 versions, 28.125 files, 153.711 fragments, 8.157.455.677 bytes (7.60 GB)
Non-latin (UTF-8) 42
Check 10.565.158.805 in 24.201 files -threads 32
No error detected in 1st stage (7.15, RAM ~ 514.07 MB), try zpaqfranz (if enabled)
Checking 31.401 blocks with CRC32 (10.550.233.982)
Re-testing from filesystem (-verify) if possible
001% 00:00:33 ( 101.62 MB) of ( 9.84 GB) 106.562.335 /sec
010% 00:00:15 (1007.95 MB) of ( 9.84 GB) 1.056.915.730 /sec
(...)
090% 00:00:01 ( 8.86 GB) of ( 9.84 GB) 679.200.768 /sec
Block 00000030 K 10.504.537.607
Verify time 17.047000 s
Blocks 10.550.233.982 ( 31.401)
Zeros 14.924.823 ( 30) 0.000000 s
Total 10.565.158.805 speed 619.185.301/sec
Checked : 00024201 of 00024201 (zpaqfranz)
------------------------------------------------------------------------------------------------
OK MD5 : 00021602 of 00024201 (8.23 GB hash check against file on disk)
OK SHA-3 : 00002599 of 00024201 (1.61 GB hash check against file on disk)
------------------------------------------------------------------------------------------------
SURE : 00024201 of 00024201 (stored=decompressed=file on disk)
VERDICT : All OK (with verification from filesystem)
22.954 seconds (all OK)
paranoid check in t (test)
With the new -paranoid switch now it is possible to extract all files (to a temporary directory), check the hashes, then delete all matching files.
Suppose you have an archive (z:\k2.zpaq) with embedded checksums. You want to be 100% sure that, after extracting, all matches.
Providing a temporary space (ex. y:\muro) all files will be extracted from z:\k2.zpaq into y:\muro, in "plain" (no subdirs)-collisions free name convention (=> can test *nix files on Windows box).
Then all files will be checked and, if OK, deleted from y:\muro
-verbose shows differences (otherwise only summary will be printed)
Here the example
C:\zpaqfranz>zpaqfranz t z:\k2.zpaq -to y:\muro -paranoid -verbose
zpaqfranz v52.19-experimental with HW BLAKE3, compiled Aug 21 2021
franz:-verbose -paranoid
To confirm a dangerous command
>>> Extract-check-delete without confirmation
enter EXACTLY the capcha, then press CR (return)
Entering anything else will quit.
Captcha to continue: withoutmercy
withoutmercy
Captcha OK
z:/k2.zpaq:
1 versions, 25.202 files, 130.988 fragments, 7.208.054.202 bytes (6.71 GB)
Non-latin (UTF-8) 37
******
******
Extracting 8.837.861.545 bytes (8.23 GB) in 25.200 files -threads 32
96.90% 00:00:00 ( 7.97 GB) of ( 8.23 GB) 272.23 MB/sec
FULL-extract hashing check
001% 00:00:04 ( 84.67 MB) of ( 8.23 GB) 88.787.273 /sec
010% 00:00:04 ( 843.18 MB) of ( 8.23 GB) 884.134.587 /sec
(...)
090% 00:00:00 ( 7.41 GB) of ( 8.23 GB) 1.592.175.774 /sec
!= from file D6BF47FA39F6BDD6 from archive AE3F9977B6A75491 <<y:/muro/00025000_$XXHASH64!AE3F9977B6%_undermenu.css>>
!= from file A7979299AEAA49D8 from archive D6EC9E8E69B430D2 <<y:/muro/00025101_$XXHASH64!D6EC9E8E69%_Avenue1.color>>
Total bytes 8.837.926.852
Bytes checked 8.837.926.854
Files to be checked 00021602
Files == 00021600
Files != 00000002
*** ERROR IN PARANOID EXTRACT CHECK! ***
38.125 seconds (with warnings)
In summary
if the destination folder, after paranoid verification, is empty, it means that all files were identical. If there are any files left, they are different than expected