개발여행

인코딩(encoding)과 암호화(encryption)의 차이 본문

CS

인코딩(encoding)과 암호화(encryption)의 차이

jbilee 2024. 8. 2. 00:18

인코딩과 암호화는 둘 다 데이터를 다른 형태로 바꿀 때 사용하는 기술들이지만, 그 방식과 목적이 다르다.

 

인코딩이란?

인코딩은 전송이나 저장에 용이한 형태로 바꾸는 등, 환경의 요건에 맞는 형식으로 데이터를 변형시키기 위해 사용한다.

 

인코딩된 데이터는 별도의 제약 없이 되돌리는 것(디코딩하는 것)이 가능하고, 널리 알려진 방식으로 데이터를 바꾼 것이기 때문에 일반적으로는 어떤 포맷으로 인코딩했는지 쉽게 알거나 공유할 수 있다. 그렇기 때문에 데이터의 보안성을 높이기 위한 수단은 아니다.

 

자주 보이는 인코딩 알고리즘으로 Base64, URL 인코딩, ASCII 또는 유니코드 등이 있다.

 

암호화란?

암호화는 외부인으로부터 데이터를 보호하기 위해 취하는 수단이다. 제3자가 마음대로 데이터에 접근할 수 없도록 암호화 키(key)를 따로 두고, 해당 키를 갖고 있는 사람만 데이터를 복호화해서 값을 확인할 수 있도록 한다. 암호키가 없으면 암호화된 데이터를 읽을 수 없다.

 

암호화 알고리즘이라는 복잡한 알고리즘을 사용하고, 주로 쓰이는 알고리즘으로는 AES(Advanced Encryption Standard), RSA(Rivest-Shamir-Adleman), DES(Data Encryption Standard)가 있다.