I want to assure integrity and authenticity in data sent trough a TLS channel. What are the best techniques? For integrity a hash (sha, bcrypt,...) should do the job right? And for authenticity? Should i use MAC? Or is it the best way to use HMAC and achieve both integrity and authenticity? Thanks for your time!
There is no need to do that manually. A TLS tunnel is not only encrypting the data, it is also guaranteeing the authenticity (and thus integrity) of the data it transmits. This used to be done by a seperate MAC (HMAC, usually), but these days (TLS $\geq 1.2$ and with modern cipher suites) you rather use an AEAD mode for encryption like AES-GCM or ChaCha20-Poly1305.