PRACTICAL GUIDE

Hashing, Encoding and Encryption Are Not Interchangeable

Choose the correct operation for transport, integrity, confidentiality, or password verification.

  • ◷ 1 minute read
  • Practical examples

Match the operation to the goal

Encoding changes representation so systems can transport or display data; it is reversible without a secret. Encryption protects confidentiality with a key. Hashing creates a one-way digest useful for integrity comparison. None automatically substitutes for the others.

A Base64 password is still readable. An unkeyed file hash can detect a difference but does not prove who published the file. Encryption without sound key management only moves the security problem.

Passwords require a special hash

General-purpose hashes such as SHA-256 are intentionally fast, which also makes large-scale password guessing fast. Password storage should use a salted, adaptive password-hashing function configured by a maintained authentication framework. A unique salt prevents identical passwords from producing identical stored values.

A simple decision table

Use Base64 for text-safe transport, a modern authenticated-encryption construction for confidential application data, a modern digest for file integrity, and a dedicated password-hashing function for stored credentials. Use digital signatures or authenticated channels when provenance matters.

  • Transport representation: encoding
  • Confidentiality: encryption
  • Change detection: hashing
  • Password verification: adaptive password hashing

References and further reading

These primary or authoritative references support standards-dependent details. The examples explain how these details apply to the workflow on this site.