HANA -J
프로젝트 DAY3회원가입시 비밀번호 해싱_JSP 본문
>간단한 정리
- 해싱과 암호화는 일상에서 어느 정도 통용되지만 암호학적으로 봤을 때는 차이가 있다.
해싱 : 단방향, 복호화 불가능
암호화 : 양방향, 복호화 가능
- 단방향 해시함수(One-Way Hash Function)
어떤 수학적 연산 또는 알고리즘에 의해 원본 데이터를 매핑시켜 완전히 다른 암호화된 데이터로 변환시키는 것을 의미한다. 이러한 변환을 해시라고 하며, 해시에 의해 암호화된 데이터를 다이제스트라고 한다.
-단방향 해시함수의 단점
1. 동일한 데이터는 동일한 다이제스트를 갖는다.
2. 무차별 대입 공격에 취약하다.
-단방향 해시 함수 보완
1. 해시함수 여러 번 수행하기
2. 솔트
- 해시함수를 수행하기 전에 원문에 임의의 문자열을 덧붙이는 것.
- 사용자마다 다른 Salt를 사용한다면 같은 비밀번호를 사용하는 다른 사용 자는 비교적 안전하다.
- 가장 이상적인 솔트는 길이 32비트 이상 , 암호학적으로 안전한 난수 생성을 사용하는 것.
출처 : https://st-lab.tistory.com/100
패스워드의 암호화와 저장 - Hash(해시)와 Salt(솔트)
'보안은 그 어느 시스템의 정보보다 가장 중요하며 가장 안전해야 하는 것이다' 필자가 "프로그래머로써 가장 중요하게 생각해야 할 것 하나만 뽑는다면?" 이라는 질문이 들어온다면 위와 같이
st-lab.tistory.com
여기서 공부하고 제 식대로 정리한 부분이기 때문에 가서 공부하세요
![](https://t1.daumcdn.net/keditor/emoticon/face/large/055.png)
> JSP코드로 작성 (자세하게 보기 원하시면 => https://github.com/hana-j/Shop_MVC2/tree/master/src )
'기록' 카테고리의 다른 글
프로젝트 DAY11 (0) | 2021.08.12 |
---|---|
Git 잘모르고 사용하다가 프로젝트 날릴 뻔 (0) | 2021.08.11 |
프로젝트 DAY4 (0) | 2021.08.06 |
프로젝트 DAY2 (0) | 2021.08.03 |
8월 첫째주를 맞이하며 (0) | 2021.08.02 |