암호화
-
패스워드 암호화(해시, 솔트, 키스트레칭)ETC 2022. 6. 28. 03:01
파이널 프로젝트 진행 중, 회원의 패스워드는 절대로 원본 자체를 DB에 저장하면 안된다는 강사님의 말씀을 듣고 암호화에 대해 공부해봤다. 일반적으로 패스워드 암호화는 해시함수를 통해 구현한다. 여기서 해싱이란? 이렇게 원본 텍스트를 알아볼 수 없는 문자열로 변환하는 작업을 의미한다. 엄밀히 말하면, 해싱과 암호화는 다르다. 암호화는 이 과정에서 복호화(encryption, decryption)을 거친다. 일반적으로 많이 사용되는 단방향 해시함수와 암호화의 가장 큰 차이점은, 단방향 해시함수는 원본 문자열의 복원이 불가하지만, 암호화는 복호화키를 사용해 평문으로 복원이 가능하다는 점이다. 예를들어, 1234라는 암호를 xzetjiosz#$7895dsfkjl; 라는 문자열로 변환했다면, 단방향 해시함수는 이..