Hash

  • 단방향 데이터 변환 방법이며, 원본 데이터로의 복구는 불가능하다.
  • 알고리즘에 따라 서로 다른 데이터여도 같은 hask key를 얻을 수 있다. 따라서 일부 경우에는 데이터의 그룹화를 위한 key로 사용하기도 한다.

Encoding

  • 원본 데이터로 복구할 수 있는 데이터 변조 방법. 데이터를 다른 플랫폼 혹은 다른 서버로 전송하거나, 다른 플랫폼에서 처리될 수 있도록 데이터를 특정한 format으로 변환시켜 둔다.
  • 데이터 변조를 위해 특별한 key를 사용하지 않는 경우도 있으며, encoding/decoding의 속도를 중요시 하는 경우도 있다.
  • ASCII, Unicode, BASE64가 여기에 속한다.

Encryption

  • 데이터를 보호하기 위한 수단으로, Encryption의 알고리즘은 더 복잡하고 비밀스럽게 작동한다. 이를 위해 특별한 key를 사용하며, 이 key를 모른다면 데이터의 복구는 불가능하도록 하는 것이 목표이다.
  • Symmetric Encryption(대칭키) 알고리즘은 암호화 및 복호화 시 같은 암호화 키를 사용한다.
  • Asymmetric Encryption(비대칭키) 알고리즘은 암호화와 복호화 시 서로 다른 키를 사용하며, 하나는 공개키, 하나는 비밀키로서 사용된다. HTTPS에서 예를 들면, SSL 인증서를 받을 때 공개키가 같이 포함된 상태로 로컬 컴퓨터에 저장되며, 통신 시 key exchange를 통해 키를 교환하고 해당 키를 사용하여 암호화/복호화한 데이터를 전송/수신한다.