[정리] 해싱과 암호화
·
개발/정리
1. 해싱과 암호화 (1) 해싱 [자료구조] 해시테이블 1. 해시테이블이란 js의 객체와 같다고 생각하면된다. 해시테이블은 객체와 마찬가지로 키-값 쌍을 저장하는데 사용한다. 배열과는 다르게 해시테이블은 순서를 가지지 않는다. 값을 찾거나, 새 diary-blockchain.tistory.com 해싱이란 원본 문자열을 다른 값으로 변환시키는 것이다. 즉, 원본 문자열을 내가 미리 짜놓은 해시 알고리즘을 거쳐 다른 값으로 나오게 하는 것이다. 해시 알고리즘을 통해 길이가 매우 긴 문자열도 내가 정해놓은 틀에 맞춰 변형시킬수 있다. 동일한 문자열은 동일한 해시 알고리즘을 사용하면 동일한 해시값을 생성해야한다. 서로 다른 문자열은 동일한 해시 알고리즘을 사용하면 서로 다른 해시값을 생성해야 한다. 해싱이 완료..
[Node.js] crypto, bcrypto
·
개발/node.js
1. 암호화 단방향 양방향 암호방식 단방향은 복호화해서 원래의 값을 알수 없고 양방향은 복호화해서 원래의 값을 알수 있다. 그렇기 때문에 단방향 복호화해서 원래의 비밀번호는 알수 없게 하고 복호화해서 암호를 해독한다. 네이버 페이지를 보면 비밀번호 찾기를 시도할때 비밀번호를 알려주지 않고 비밀번호 변경을 시켜준다. 2. 복호화 복호화는 암호문을 편문으로 변환하는 과정 부호화(인코딩)된 데이터를 부호화 되기전 형태로 바꿔서 사람이 읽을수 있는 형태로 되돌려 놓는것 3. 단방향의 비교 검증 방법 데이터 베이스에 저장된 암호화 로그인할때 입력받은 비밀번호를 단방향으로 암호화를 통해 비교하면 기본의 비밀번호는 저장되지 않고 암호화된 문자열로만 비교시킨다. 단방향 암호화는 해쉬 알고리즘을 사용해서 문자열을 고정된..