In DuckDb it appears the hash functions are all single column.
No. hash function in DuckDB can take variable arguments, refer to this commit. So you can directly use hash(a, b, c).
hash
hash(a, b, c)