SHA-256 방식 사용
단순 해시 함수만을 이용할 경우 같은 문자를 대입할시 같은 값이 나오므로 해킹의 우려가있다 .
ex) 1234 -> 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
1234를 SHA-256 방식의 암호화방식으로 해싱 하였을 경우 항상 위와 같은 문자열이 나온다 . 레인보우 테이블을 이용하면 쉽게 비밀번호를 유추할수 있다
그러므로 우리는 salt , keystreach 방식을 이용하여 암호화를 시킨다 .
salt란 아래의 그림처럼 해시함수로 해싱된 문자열과 임의에 문자열을 더한 방식
그리고 keystreach 방식은 salt와 password를 합친 문자열을 다시 해싱을 반복적으로 하는 것을 말한다 .
이와같은 방식은 bcrypt라는 라이브러리에서 제공하여 준다 .
*레인보우 테이블이란 ?
미리 해시 함수의 값들을 뽑아낸것
*해싱 이란 ?
가변크기 즉 변할수 있는 예를들어 문자 등을 고정된 크기의 문자로 변환 시키는 방법