HANA -J

프로젝트 DAY3회원가입시 비밀번호 해싱_JSP 본문

기록

프로젝트 DAY3회원가입시 비밀번호 해싱_JSP

Hana-J 2021. 8. 4. 19:33

>간단한 정리

- 해싱과 암호화는 일상에서 어느 정도 통용되지만 암호학적으로 봤을 때는 차이가 있다.

  해싱 : 단방향, 복호화 불가능 

  암호화 : 양방향, 복호화 가능 

 

- 단방향 해시함수(One-Way Hash Function)

  어떤 수학적 연산 또는 알고리즘에 의해 원본 데이터를 매핑시켜 완전히 다른 암호화된 데이터로 변환시키는 것을 의미한다. 이러한 변환을 해시라고 하며, 해시에 의해 암호화된 데이터를 다이제스트라고 한다.

 

-단방향 해시함수의 단점 

1.  동일한 데이터는 동일한 다이제스트를 갖는다.

2. 무차별 대입 공격에 취약하다.

 

-단방향 해시 함수 보완 

1. 해시함수 여러 번 수행하기 

2. 솔트 

 - 해시함수를 수행하기 전에 원문에 임의의 문자열을 덧붙이는 것.

 - 사용자마다 다른 Salt를 사용한다면 같은 비밀번호를 사용하는 다른 사용 자는 비교적 안전하다.

 - 가장 이상적인 솔트는 길이 32비트 이상 , 암호학적으로 안전한 난수 생성을 사용하는 것.

출처 : https://st-lab.tistory.com/100 

 

패스워드의 암호화와 저장 - Hash(해시)와 Salt(솔트)

'보안은 그 어느 시스템의 정보보다 가장 중요하며 가장 안전해야 하는 것이다' 필자가 "프로그래머로써 가장 중요하게 생각해야 할 것 하나만 뽑는다면?" 이라는 질문이 들어온다면 위와 같이

st-lab.tistory.com

여기서 공부하고 제 식대로 정리한 부분이기 때문에 가서 공부하세요

 

> JSP코드로 작성   (자세하게 보기 원하시면   =>  https://github.com/hana-j/Shop_MVC2/tree/master/src ) 

728x90

'기록' 카테고리의 다른 글

프로젝트 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
Comments