본문 바로가기

SPRING

[Spring Boot] Hashing 비밀번호 암호화 bcrypt

Hashing이란?

문자를 랜덤문자로 변환해서 암호화해주는것

Hashing을 하는 이유

비밀번호같은걸 일반문자로 DB로 그대로 저장하면 DB가 털렸을때 비밀번호를 알수가 있어서 변환해주는거임

암호화 안 하면?  감옥감

해싱알고리즘 종류 

bcrypt argon2 scrypt SHA

 

스프링에선 bcrypt을 기본으로 제공해주기때문에 bcrypt 사용

 

테스트 해보기위해 한번 만들어보쟈

 

 bcrypt를 사용하는 법 

 

스프링 자체에 미리 만들어져있는 BCryptPasswordEncoder() 객체를  이용

.encode()

변환하려는 것을 집어넣으면 인코딩해줌

String result = new BCryptPasswordEncoder().encode("니똥");

/bcrytest 로 접속하면 "니똥"이라는 단어를 변환해보자.

@GetMapping("/bcrytest")
String bcrytest() {
    String result = new BCryptPasswordEncoder().encode("니똥");
    System.out.println(result);
    return "redirect:/list";
}

 

출력결과