오늘은 은노기의 JSP2.3 웹프로그래밍을 공부를 하다가

회원관리 프로그램의 데이터베이스 테이블 중 비밀번호 부분을 암호화하는 절차를 기술하고자 한다.

참조 : 은노기 JSP2.3 웹프로그래밍 372p


입력받은 비밀번호와 Private 키를 사용하여 SHA-256 해시함수를 돌린다.

해시함수의 결과로 생성된 암호화된 비밀번호를 다시 bcript를 사용하여 해시함수를 돌린다.

그러면 60 바이트의 암호화된 비밀번호가 생성이 된다.


해시함수의 특성상 암호화된 비밀번호가 알려주더라고 원래의 비밀번호를 다시 알아낼 수가 없다.

따라서 비밀번호의 노출을 방지할 수 있다. 즉, 시스템에는 원래 사용자가 설정한 비밀번호는 저장이 되지 않고, 해시함수를 통해 생성된 암호화된 비밀번호만이 저장되기 때문에 운영자들도 사용자가 설정한 비밀번호를 알수가 없으며, 비밀번호의 분실시에는 다시 새로운 비밀번호를 사용자가 설정하도록 함으로써 비밀번호의 보안을 유지한다.

Posted by 세상을 살아가는 사람
,