이르가체페
132
2019-08-19 10:49:23
3
95

회원 암호 해시 방식 변경에 따른 기존 암호화 db 처리


안녕하세요 초보 개발자입니다. 회사에서 회원들의 패스워드를 md5 방식으로 암호화해서 보관중인데요, 이를 다른 방식으로 바꾸자고 졸라서 드디어 변경을 허락받았습니다.

PHP 내장 해시함수(password_hash)를 이용해서 기존 md5를 모두 BCRYPT로 변경하기로 했습니다. 문제는 이제 DB에 저장되어있는 회원들의 해시를 모두 BCRYPT해주는 방법입니다. 약 3만건정도 되는 회원정보인데 이를 어떻게 접근해서 변경해주는것이 좋을까요?

일단 생각나는건 SELECT로 아이디와 패스워드 불러오기 , 패스워드 각각 암호화 한뒤 트랜잭션 걸고 각각 업데이트 해주는 방법인데.. 이러면 3만건의 UPDATE절을 돌려야하는데 시스템에 부하가 생기지 않을지 걱정됩니다.

혹시 이러한 규모의 데이터 변경이 필요할때 어떻게 하시나요?

0
0
  • 답변 3

  • 그만물어봐
    125
    2019-08-19 11:08:08

    db 입장에서는 3만건 update 는 큰 작업이 아닌데....

    클라이언트에서 암호화 후 다시 db 에 넣는 작업이다 보니....큰 작업이 되버리네요....

    https://m.blog.naver.com/PostView.nhn?blogId=psj9102&logNo=221223524085&proxyReferer=https%3A%2F%2Fwww.google.com%2F

    구글링해보니 cpu 영향이 크다고 합니다 ㄷㄷ;

    작업하시더라도 야간에 하시고

    회원 테이블의 키컬럼과 암호컬럼을 복사해서 테스트 테이블을 만들고

    테스트 테이블에 먼저 진행해보시기 바랍니다~

    테스트 테이블이 완료되면 테스트 테이블과 실테이블을 조인해서 update 하면

    금방 되겠네요~!


    1
  • 이르가체페
    132
    2019-08-19 14:39:05

    @그만물어봐

    감사합니다! 디비 입장에서 3만건은 그리 큰 작업이 아니군요 ㅠ.. 부하에 관한건 너무 눈대중이 힘드네요..

    0
  • 더미
    13k
    2019-08-19 17:44:09

    공지쓰고

    비번제한해놓고

    덤프떠서 다른 곳에서 하고 update하세요

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.