Surely combining multiple hashes is the same problem as hashing a block of memory? Shouldn't we just use the same algorithm as hash_any()?
I was originally going to suggest using a crc to combine but iirc we changed hash_any() a while back and decided against using crc. I don't know if that was wise but wouldn't want to suggest relitigating that.