비밀번호 암호화

 

 

암호화를 하는데 사용하는 기능은 SHA-512, BCrypt 가 있는데, SHA-512 기능은 성능이 너무 좋아 권장하지 않는다. GPU의 연산속도가 빠르기 때문에 공격자의 하드웨어를 통한 오프라인 brute force에 더 취약하다. 빠른 해시를 사용하여 암호화를 진행시 공격자는 오프라인 공격으로 초당 수십억개의 해시를 계산할 수 있다.

 

그래서 요즘은 BCrypt를 이용하여 비밀번호 암호화를 하는 편이다.

 

 

 

 

암호화 된 비밀번호를 비교하는 방법, BCrypt.checkpw(비밀번호, 비밀번호) 를 사용한다.

 

 

@Transactional

이 어노테이션은 서비스 함수를 실행할 때 어느 한 곳에 문제가 발생하였을 경우 그 전에 진행되었던 모든 작업을 원래대로 리셋한다. 돈을 송금하는 ATM기를 예를 들어 설명하면, 일단 돈을 보냈으면 본인의 통장에 돈이 빠져나갔을 것이다. 하지만 전송하는데 실패를 했을 경우 받을 사람의 통장에 돈이 들어가지 않았을 것이다. 그럼 본인의 통장에도 돈이 빠져나갔고, 받을 사람의 통장에도 돈이 들어오지 않았으니 문제가 된다. 이를 방지하기 위해 돈 송금 실패시, 모든 작업을 리셋하여 보낸 사람의 통장에 보냈던 돈을 다시 소유하게끔 하는 작업..

 

+ Recent posts