2010-12-13 2 views
5

비밀번호에 대한 데이터베이스 항목이 md5 형식이지만 사용자가 "비밀번호 분실"을 사용하면 어떻게 비밀번호를 알려줄 수 있습니까?나는 "암호를 잊어 버렸습니다"를 사용할 때 암호를 md5로 암호화 한 사용자에게 암호를 제공하는 방법을 알고 있습니까?

+1

Oblig. nitpick : MD5 함수가 * 해싱 * * 정보가 손실됩니다. 원래 데이터는 복구 할 수 없습니다. * 암호화 * OTOH를 사용하면 원본 데이터를 올바른 키로 완전히 복구 할 수 있습니다. – Piskvor

+0

가능한 중복 [md5 해시를 해독 할 수 있습니까?] (http://stackoverflow.com/questions/1240852/is-it-possible-to-decrypt-md5-hashes) –

답변

12

MD5 해시에서이를 수행 할 수 없습니다. 당신도 할 수 있어야합니다. 비밀 번호 복구가 다루기 힘들해야합니다.

일반적인 과정은 사용자가 새 암호를 선택할 수 있도록 암호 재설정 토큰 (URL)을 전자 메일 주소로 보내는 것입니다.

+0

감사합니다. @Marcelo Cantos –

2

데이터베이스에 암호를 입력하지 않으면 작업을 수행 할 수 없지만 바람직하지는 않지만 새 암호를 생성하여 암호를 보낼 수는 있습니다. 또는 비밀번호를 재설정 할 수있는 링크.

1

암호의 길이가 주어진다면 그 암호 (사전 방법)를 1/100로 복구 할 수 있습니다. 나는 그것을 추천하지 않을 것이다.

새 임의 암호를 생성하여 사용자의 전자 메일로 보내는 것이 좋습니다.

+0

1/100, 실제로 - 해싱의 전체 요점 : 간단하고 빠른 한 가지 방법 (데이터를 해시하는 것), 다른 방향 (데이터를 해시하는 것)으로 복잡하고 매우 느립니다. – Piskvor

+0

@Piskvor 실제로 그것은 내 추정 일뿐입니다. : P는 사용 된 사전에 의존합니다. – Ruel

+0

회복율이 1/100에 달하는 경우. 넌 정말 불안한 체제 야. 실제로, 다양한 md5 de/encoder를 사용하여 자체 시스템에서 복구 속도를 테스트 할 수 있습니다. 0 % 회복을 위해 쏴라. http://www.md5decrypter.com/ – DampeS8N

2

사용자에게 new password을 전송 한 다음 데이터베이스에도 설정해야합니다. 그렇지 않으면 원래 암호가 복구되지 않을 수 있습니다.

감사합니다.

3

MD5는 단순히 "일방적 인"해시 일 뿐이며 이후에 암호를 해독 할 수없는 데이터를 암호화하는 수단이 아닙니다.

  1. 가에서 재설정 링크에 등록 된 주소로 사용자에게 이메일을 보내 :

    같은, 일반적인 생각을하는 것입니다. 리셋 링크는 특정 사용자 데이터의 일부 측면을 기반으로 해시를 포함해야하므로 쉽게 추측 할 수 없습니다 (예 : 계정 생성 시간).

  2. 사용자가 위의 해시를 확인하는 비밀번호 재설정 페이지에있는 링크를 클릭하면 새 비밀번호 (이상적으로는 '0', ' o ','O '등)을 입력 한 다음 가능한 한 빨리이 암호를 변경해야한다고 알리는 전자 메일로 사용자에게 새 암호를 보냅니다.

사용자는 로그인하여 평상시처럼 사이트에 액세스 할 수 있습니다.

+0

나는 새로운 암호를 보내는 두 번째 이메일을 건너 뛸 것이다. 사용자가 해당 링크에서 직접 암호를 변경하도록하십시오. – Danosaure

관련 문제