Difference Between Encryption, Encoding, Hashing, Obfuscation
Encoding
Encoding is for maintaining data usability and can be reversed by employing the same algorithm that encoded the content, i.e. no key is used.
Encryption
Encryption is for maintaining data confidentiality and requires the use of a key (kept secret) in order to return to plaintext.
Hashing
Hashing is for validating the integrity of content by detecting all modification thereof via obvious changes to the hash output.
Obfuscation
Obfuscation is used to prevent people from understanding the meaning of something, and is often used with computer code to help prevent successful reverse engineering and/or theft of a product’s functionality.