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

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


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

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

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

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

0
0
  • 답변 3

  • 그만물어봐
    522
    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
  • 더미
    14k
    2019-08-19 17:44:09

    공지쓰고

    비번제한해놓고

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

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