数据库的密码是根据填入的字符串 生成的32位MD5码。
现在要读取出来密码 并修改密码。
问题就是:怎么讲32位的MD5码还原成原来的String字符串。。
有会的吗 谢谢、、、
怪我咯2017-04-18 09:42:41
포스터는 초보자일 수도 있을 것 같은데, 그가 마지막으로 해결하고 싶은 문제는 비밀번호 변경 방법입니다. 이 질문은 단지 비밀번호를 변경할 때 발생하는 문제일 뿐입니다. 비밀번호를 변경한다는 생각이 잘못되었기 때문에 질문의 방향이 다릅니다.
그런데 위에 분들의 긴 답변을 보니 초심자들이 이해하기 힘든 지식 포인트를 그냥 짚어보니 포스터가 무슨 말을 하는지도 이해가 안 될 수도 있겠네요. 문제에 대한 해결책이나 가능한 해결책이 전혀 제공되지 않습니다.
이 문제에 대한 해결책은 다음과 같습니다.
먼저 입력 상자 3개를 설정합니다
첫 번째는 사용자가 원래 비밀번호를 입력하도록 하는 것입니다.
두 번째와 세 번째 입력 상자는 사용자가 새 비밀번호를 입력하고 새 비밀번호를 확인하는 데 사용됩니다.
제출 후 md5 암호화 등 이전 암호화 방식을 사용한 사용자의 원래 비밀번호와 데이터베이스에 저장된 암호화된 비밀번호를 비교하여 동일하면 원래 비밀번호가 올바른 것입니다. 사용자의 신원이 합법적이라고 판단할 수 있습니다. (이런 이유는 md5는 되돌릴 수 없기 때문에 그냥 다시 암호화하겠습니다. 비교해보세요. 같은 비밀번호는 똑같이 암호화해야 합니다.)
사용자의 신원이 합법적인 경우 새 비밀번호가 암호화되어 저장된다는 점을 알아야 합니다. 여기서는 N줄의 인증코드가 생략되었습니다.
阿神2017-04-18 09:42:41
그렇습니다 MD5
전혀 加密算法
그렇죠. . . . MD5
은 摘要算法
입니다. . . 그리고 摘要算法
은 이론적으로 逆向解码
가 필요하지 않습니다.
巴扎黑2017-04-18 09:42:41
먼저 피험자에게 문제가 생기면 먼저 검색해 보는 것이 좋습니다.
둘째, MD5는 되돌릴 수 없는 암호화 알고리즘입니다. 프로젝트에서 비밀번호를 변경해야 하는 경우 사용자가 입력한 비밀번호는 md5로 암호화된 후 키가 일치됩니다. MD5만 복원하려는 경우 인터넷에 온라인 복호화 방법이 많이 있지만 상대적으로 간단한 비밀번호만 복호화할 수 있습니다.
마지막으로 질문 작성자에게 제안합니다 이 질문을 닫으세요. 정말 의미가 없습니다 감사합니다
迷茫2017-04-18 09:42:41
맙소사~
이 새끼 겁나 죽겠다~
너도 그러고 싶어解密
~
사용자는 旧密码
및 新密码
을 받습니다.
旧密码
md5를 암호화합니다.
암호화된 旧密码
을 데이터베이스 비밀번호와 비교하세요.
동일한 경우 新密码
md5가 암호화되어 데이터베이스에 저장됩니다.
다이제스트 알고리즘은 뒤집기가 쉽지 않습니다.
물론 온라인 md5 암호 해독 도구를 사용할 수 있습니다.
黄舟2017-04-18 09:42:41
원칙적으로 불가능하며, md5는 단방향 암호화입니다. 검증하는 동안 md5 값도 비교하여 동일한지 확인합니다. 크랙을 원하시면 미리 만들어진 레인보우 테이블에서 데이터를 다운로드 받으실 수 있지만, 결과가 100%라는 보장은 없습니다. 즉석에서 md5에 도달하는데 오랜 시간이 걸릴 것입니다.
怪我咯2017-04-18 09:42:41
기본적으로는 불가능합니다. 인터넷에서의 암호 해독은 우연에 달려 있습니다. 운이 좋으면 동일한 md5 값과 해당 문자열을 만날 수도 있습니다. 게다가 md5 값은 문자열과 일대일로 대응하지 않습니다. 많은 문자열의 md5 값은 동일합니다...
天蓬老师2017-04-18 09:42:41
질문자는 Baidu에서 검색하여 MD5
가 무엇인지 알아볼 수 있습니다. 되돌릴 수 없는 알고리즘입니다. Base64
과 같은 가역적 알고리즘.
怪我咯2017-04-18 09:42:41
MD5는 복원할 수 없습니다. 그렇지 않으면 무차별 대입을 할 필요가 없으며 직접 복원하면 됩니다.
솔티드 PBKDF2 알고리즘을 검색해 보시는 것을 추천드립니다.
大家讲道理2017-04-18 09:42:41
MD5는 인증할 때마다 비밀번호를 32비트로 변환한 후 데이터베이스에 저장된 32비트와 비교해야 하므로 복원할 수 없도록 설계되어 있습니다.