포럼은 대부분의 포럼은 여기에서 찾을 수 있습니다 사용하는 표준 md5(md5($salt).md5($password))
형식 사용하는 설명하는 IPBoard 페이지로 빠른 링크 : https://www.invisionpower.com/support/guides/_/advanced-and-developers/miscellaneous/passwords-in-ipboard-r130IPBoard 암호 해시 문제, 알고리즘과 일치하지 않는
실제로 MyBB를 사용에서 오는을하는 동일한 구조를 사용하므로 쿼리를 테이블/열 이름을 변경하면 상대적으로 간단한 스위치를 만들 수 있다고 생각했을 것입니다. 소년은 틀 렸습니다. 내가 사용했던
원래 쿼리이었다 이것은 사용자 이름과 원시 암호가 내 서버에 의해 제공되는 준비된 문이다
SELECT * FROM `forum_members` WHERE `name`=? AND `members_pass_hash`= MD5(CONCAT(MD5(members_pass_salt), MD5(?)))"
다음과 같습니다. 불행히도 작동하지 않아 몇 가지 단계를 거쳐 데이터를 디버깅하기 시작했습니다. SQL MD5 기능을 사용하는 대신 데이터를 가져 와서 Java에서 MD5 검사를 수행하여 무슨 일이 일어나고 있는지 더 잘 알 수있었습니다. 이 데이터가 일치되지 않은 일부 약간 이상한 결과를 산출
public String MD5(String md5) {
try {
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
byte[] array = md.digest(md5.getBytes());
StringBuffer sb = new StringBuffer();
for (int i = 0; i < array.length; ++i) {
sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1,3));
}
return sb.toString();
} catch (java.security.NoSuchAlgorithmException e) {
}
return null;
}
:
이 작업을 수행하려면, 나는 오랜 시간 동안 사용했던 다음과 같은 MD5 기능을 사용했다.
Database salt: *nzFC
Database hash: 6bac5cba673134ea084e481b57921134
Server generated hash: d7f94e3f262e7dee81b12ac087c42b18
생성 서버 IPB 포함한 다른 포럼 MD5(MD5(salt) + MD5(rawpassword))
사용하는 방법을 사용하여 생성되었다. 이것은 MyBB에서 작동했기 때문에 조금 혼란 스럽습니다.
대문자 문제 등을 확인했지만 완전히 비어 있습니다.
맞습니다. 각 사용자마다 고유 한 소금이 있습니다. 또한 SQL에서 명령을 실행하면 "2565f194634d1903e185202fab587ef9"가 완전히 다른 해시입니다. '선택 MD5 (CONCAT (MD5 (members_pass_salt), MD5 (members_pass_salt))) FROM'oblivion_server'.forum_members' WHERE'member_id' = '1'' – Hobbyist
그 쿼리는 정확하지 않습니다. 거기에''members_pass_salt'' 칼럼이 두 번 있습니다. 두 번째 암호는 원시 암호 여야합니다. – ub3rst4r
소금과 암호 외에도 문제가 무엇인지 모르겠습니다. [IPB 포럼] (http://community.invisionpower.com/)에서 도움을 얻을 수 있어야합니다. – ub3rst4r