2012-06-18 5 views
0

내 데이터베이스의 암호가 이제 텍스트이고 방금 md5() 암호를 해시로 변환하는 기능을 사용할 수 있다고 생각했지만 지금 데이터베이스의 모든 사용자를 해시로 변환하려고합니다. 그래서 자신의 암호를 다시 입력 모두를 말할 필요가 없습니다 것을암호를 해시로 변환 PHP

을 수행하는이 질문은 내가 어떻게 PHP에서 그렇게하는 생각을 알고 싶어하기 때문에, 다른 문제와 마찬가지로 Convert text passwords in database to hashed passwords?과 중복, 그리고 Secure hash and salt for PHP passwords도되어 있지 않으며 데이터베이스에 이미있는 모든 비밀번호를 변경하려고하므로 중복되지 않습니다. 위에서 말했듯이 내 모든 사용자에게 비밀번호 변경을 요청할 필요가 없습니다.

아이디어가 있으십니까?

+1

'md5'를 사용하지 말고'whirlpool'과 같은 다른 것을 사용하십시오. 다른 문제들 중에서도'md5'에 사용할 수있는 무지개 테이블이 너무 많습니다. – Brad

+0

@ 브래드 그래, 그럴거야,하지만 난 이미 데이터베이스에 존재하는 모든 비밀 번호를 변환하는 아이디어를 원합니다 – thegrede

+5

새 열을 만듭니다. A 열의 모든 암호를 B 열의 암호화 된 문자열로 변환하십시오. A 열에 암호화 된 암호가 없는지 육안으로 검사하십시오. 열 B의 이름을 "열 A"로 바꾸고 열 A의 이름을 "열 Z"로 바꿉니다. Z 항목을 삭제하기 전에 몇 주가 기다리면 모든 것이 원활하게 처리되는지 확인할 수 있습니다. 암호화 된 암호를 사용하지 않기 때문에 스스로를 조심하십시오. – Blazemonger

답변

1

예를 들어 해시를 통해 각 암호를 실행하면 해시를 다시 실행하기 때문에 해시를 다시 저장해야합니다 (해시를 통해 알려진 암호이므로 md5가 아닌 것이 좋습니다). 그런 다음 누군가가 로그인을 시도 할 때 암호를 가지고 해시 한 다음 데이터베이스에있는 것과 해시를 비교합니다. 현재 일반 텍스트를 저장하는 경우 사용자에게 무엇인가를 빌려달라고 요청하지 않아도됩니다.

관련 문제