Why do you need a cryptographic hash function for detecting duplicates? xxHash, rapidHash or anything that’s fast will do the job. There’s no need to be secure against inverses.
Yeah, long ago I tackled a variant on this--given a directory of files, which ones are already somewhere? I persisted data on what was already there--and found I didn't want to do a good job on the table of what was there. The fastest approach was two tables, the first containing only crc-32s of the files, the second containing more details. Load the first into memory, only load from the second when there was a match on the first. Quickly discarding most prospects was the best route, don't even see if the prospect exists until it passes the first screen.