Encryption provides Confidentiality of the Message but provides no Integrity of the Message.
Hashing, well at least Secure Hash Algorithms, is a one-way street. You can Hash the Message but you can not un-Hash the Message.
Hashing provides Integrity of a Message but provides no Confidentiality.
When you require Confidentiality and Integrity, you must use both Encryption and Hashing.
If you need Non-Repudiation, then you need to TODO