3 ms·
> For protocol 30 and beyond (first supported in 3.0.0), the checksum used is MD5. For older protocols, the checksum used is MD4. Newer versions (≥3.2?) suppor
by throw0101a 4y ago
> For protocol 30 and beyond (first supported in 3.0.0), the checksum used is MD5. For older protocols, the checksum used is MD4.
Newer versions (≥3.2?) support xxHash and xxHash3:
* https://github.com/WayneD/rsync/blob/master/checksum.c https://github.com/WayneD/rsync/blob/master/checksum.c
* https://github.com/Cyan4973/xxHash https://github.com/Cyan4973/xxHash
* https://news.ycombinator.com/item?id=19402602 https://news.ycombinator.com/item?id=19402602 (2019 XXH3 discussion)
- aidenn0 4y agoI thought xxHash was only used for the chunk hash, not the whole file hash?
- hinkley 4y agoI was surprised to learn recently that sha1 is typically about 10% faster than md5. I have some coworkers who I need to remind of this, since they’re still using md5 for caching.
- yencabulator 4y agoAnd Blake3 is almost 7 times faster than SHA-1...
- JonathonW 4y agoAs mentioned in a sibling comment, linux.die.net's manpage is outdated here (covering rsync 3.0.6). Current versions of rsync (>= 3.2.0) autonegotiate checksum type between several different options (including a few variants of xxhash, md5, and md4) unless overridden by the user, or one side is pre-3.2.0 (in which case you get the old behavior with MD5 or MD4 depending on protocol version). The pre-transfer and transfer checksums also don't necessarily have to be the same (I don't particularly care to hunt down the default priority lists right now, so I'm not sure if they are the same or not by default). Manpage for rsync 3.2.4, from Debian testing: https://manpages.debian.org/testing/rsync/rsync.1.en.html https://manpages.debian.org/testing/rsync/rsync.1.en.html