Nejedná se o cryptografický hash typu SHA a podobně, ale o perceptual hash, který všemu, co jste zmínil, odolá. Samozřejmě to není na 100%, proto je přesný algoritmus, který se v těchto případech používá, neveřejný (stejně tak i samotná databáze hashu).