
암호화의 기본
암호화는 일련의 정보를 임의의 방식을 사용하여 다른 형태로 변환하여 해당 방식에 대한 정보를 소유한 사람을 제외하고 이해할 수 없도록 '알고리즘'을 이용해 정보를 관리하는 과정

shift('bicyle', 2) // 'dkezeng'
shift('dkezeng', -2) // 'bicyle'
//
const shiftBy = function(content, offset) {
return content.split('').map(fnuction(letter) {
return String.fromCharCode(letter.charCodeAt() + offset)
}).join('')
}
넘긴 수만큼 위치가 바뀐 알파벳 반환
어떠한 문자열에 '임의의 연산'을 적용하여 다른 문자열로 변환하는 것
1. 모든 값에 대해 해시 값을 계산하는데 오래걸리지 않아야 한다.
2. 최대한 해시 값을 피해야 하며, 모든 값은 고유한 해시 값을 가진다.
3. 아주 작은 단위의 변경이라도 완전히 다른 해시 값을 가져야 한다.

외부에서 만들어진 알고리즘을 이용한 해시

암호화해야 하는 값에 어떤 '별도의 값'을 추가하여 결과를 변형하는 것
