2018. 11. 8. 23:12
반응형

Java/Spring Security에 있는 BCryptPasswordEncoder를 이용한 암호화 방법이 있다.

이 방법으로 비밀번호를 암호화하는 것이 좋아보였다.

그런데 자바를 이용하다가 다른 언어로 변경했을 때도 이때 저장된 암호를 그대로 사용하고 싶다.


일단 다른 언어는 제쳐두고 좀 익숙한 파이썬에서의 방법을 좀 찾아봤다.

역시 방법이 있었다.


우선 bcrypt 모듈을 설치해야 한다.

pip install bcrypt 또는 pip3 install bcrypt


다음의 간단한 예제를 통해 간단히 사용법을 익혀볼 수 있다.

참고로 암호화할 때 그냥 bcrypt.gensalt()를 하면 자바 스프링 시큐리티에서 암호화한 것과 같이 쓰지 못하는 것을 관찰할 수 있었다.


import bcrypt

password = b"password"
hashedPassword = bcrypt.hashpw(password, bcrypt.gensalt(rounds=10, prefix=b"2a"))

print(hashedPassword)

userpass = "password"

print(bcrypt.checkpw(bytes(userpass, encoding="ascii"), hashedPassword))

반응형