회원db를 옮겨오는데 비번형식이 좀 다른것 같습니다. 괜찮을까요?
본문
이전에 만들었던 사이트의 회원db를 옮겨오는데요
비밀번호를 보니
이전db는
*B1C76D0D8C4A0DAD...........
이런식으로 되어있고
새로 설치한 사이트는 비밀번호 형식이
sha256:12000:hAbhkTPNu...............
이렇게 시작하네요
둘 차이가 무엇이며 그냥 새db에 이전 자료를 올려도 똑같이 로그인이 될까요?
답변 3
그냥 로그인 할 때 md5 방식과 sha256 방식으로 순서대로 검증해보고
md5방식이라면 입력된 비번을 sha256방식으로 변환 후 디비업데이트후 로그인
sha256방식이라면 바로 로그인
하시면 간단합니다.
아뇨 형식이 다르면 안됩니다. 해당은 아마 old_password 형식일텐데 해당을 체크하는 부분을 추가하시던지 아니면 사용자들한테 비밀번호를 다시 만들라고 하셔야 합니다.
로그인시 다음 로직을 추가합니다.
* 현재 암화화 방식과 구 암호화 방식의 데이터 비교 *
1) 현재암호화 방식의 입력데이터와 암호데이터 비교
1)성공시 -> 로그인
1)실패시 -> 2)구 암화방식 비교 -> 2)일치시 -> 암호 데이터 업데이트 -> 로그인
-> 2)미일치시 -> 로그인 반려
위와같이 구성 합니다.
추가정보는 하단에....
########################################
이전 데이터베이스의 비밀번호는 MD5 해시로 저장되어 있는 반면, 새 데이터베이스의 비밀번호는 SHA-256 해시로 저장되어 있습니다.
MD5 해시:
MD5(Message Digest 5)는 128비트 해시 함수입니다.
입력된 문자열을 고정 길이의 16진수 문자열로 변환합니다.
MD5 해시는 비교적 빠르고 계산하기 쉽습니다.
SHA-256 해시:
SHA-256(Secure Hash Algorithm 256)은 256비트 해시 함수입니다.
MD5보다 더 안전하고 충돌 내성이 뛰어납니다.
SHA-256 해시는 계산하는 데 더 많은 시간이 걸립니다.
차이점:
해시 알고리즘: MD5 vs SHA-256
해시 길이: 128비트 vs 256비트
보안 수준: SHA-256가 더 안전함
새 데이터베이스에 이전 데이터를 업로드하면 어떻게 되나요? 이전 데이터베이스의 비밀번호가 MD5로 해시되어 있고 새 데이터베이스가 SHA-256으로 해시되어 있기 때문에 두 데이터베이스의 비밀번호가 일치하지 않습니다. 따라서 이전 데이터를 새 데이터베이스에 업로드하면 사용자는 로그인할 수 없습니다.