I have been meaning to document the concepts of encoding, encryption, and hashing for reference purposes but as usual came across a post that already explains them well. Here’s a consolidated quick reference version of that post from DanielMiessler.com.
- Encoding: Maintains data usability and can be reversed by employing the same algorithm that encoded the content, i.e. no key is used. (e.g., ASCII, Unicode, URL Encoding, Base64)
- Encryption: Maintains data confidentiality and requires the use of a key in order to return to plaintext (e.g., AES, Blowfish, RSA)
- Hashing: Validates the integrity of content by detecting any modifications thereof via changes to the hash output (e.g., SHA-3, MD5)
For further details on each of these concepts, please visit the source blog post here.
Today’s post pic is from SafehouseSoftware.com.