평문의 비밀번호를 해시 함수(해시 알고리즘)를 이용하여, 언제나 고정된 길이의 암호화된 문자열로 바꾸는 것
동일한 값이 입력되면 언제나 동일한 출력값을 보장
const saltRounds = 10; // 해시함수를 돌리기 전에 임의의 문자열을 덧붙임
const hashedPassword = await bcrypt.hash(password, saltRounds);
const isPasswordValid = await bcrypt.compare(password, user.password);
암호화된 데이터에 대한 복호화가 가능한 암호화 방식
예시) 이메일, 번호, 전자 서명 등과 같이 재사용성이 있는 정보
대칭키
공개키(비대칭키)
대칭키 + 비대칭키 방식
→ 비대칭키 암호화 방식을 한 번만 사용하여 안전하게 키를 공유하고, 이후에는 대칭키를 이용한 보안 방식을 적용하여 빠르게 통신할 수 있다는 장점이 있음
참고