로딩
요청 처리 중입니다...

암호화, 해싱, 인코딩은 비슷해 보이지만 목적이 다르다

 암호화, 해싱, 인코딩은 비슷해 보이지만 목적이 다르다

인증, 외부 API 연동, 민감 정보 처리 같은 기능을 구현하다 보면 데이터를 다른 형태로 바꿔야 하는 상황을 자주 만납니다. 하지만 데이터를 바꾼다고 해서 모두 같은 목적을 갖는 것은 아닙니다.

어떤 값은 다시 원본으로 복원해야 하고, 어떤 값은 원본을 알 수 없어도 검증만 가능하면 됩니다. 또 어떤 값은 보안을 위한 처리가 아니라, 특정 환경에서 안전하게 전달하기 위한 표현 변환일 수도 있습니다.

암호화, 해싱, 인코딩은 모두 데이터를 다른 형태로 바꾸지만, 해결하려는 문제는 서로 다릅니다. 이 차이를 구분하지 못하면 비밀번호를 암호화해서 저장하거나, Base64로 변환한 값을 안전하다고 착각하거나, JWT Payload에 민감 정보를 담는 실수를 할 수 있습니다.

보안 기술은 강한 기술을 많이 붙이는 문제가 아니라, 보호하려는 대상과 목적에 맞게 선택하는 문제입니다. 1. 암호화는 다시 복호화할 수 있어야 할 때 사용한다 암호화는 데이터를 알아볼 수 없는 형태로 변환하는 기술입...