Skocz do zawartości

System kodowania haseł


Rekomendowane odpowiedzi

Opublikowano

Witam, jak wygląda kodowanie haseł w IPB?

Czy jest to md5 czy co innego?

  • Manager
Opublikowano

Witaj,

ktoś jeszcze robi hasła na md5? :(

	public static function makePassword()
{
	$pass = "";

	// Want it random you say, eh?
	// (enter evil laugh)

	$unique_id 	= uniqid( mt_rand(), TRUE );
	$prefix		= IPSMember::generatePasswordSalt();
	$unique_id .= md5( $prefix );

	usleep( mt_rand(15000,1000000) );
	// Hmm, wonder how long we slept for

	$new_uniqueid = uniqid( mt_rand(), TRUE );

	$final_rand = md5( $unique_id . $new_uniqueid );

	for ($i = 0; $i < 15; $i++)
	{
		$pass .= $final_rand{ mt_rand(0, 31) };
	}

	return $pass;
}

static public function generatePasswordSalt($len=5)
{
	$salt = '';

	for ( $i = 0; $i < $len; $i++ )
	{
		$num   = mt_rand(33, 126);

		if ( $num == '92' )
		{
			$num = 93;
		}

		$salt .= chr( $num );
	}

	return $salt;
}

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Hasła są trzymane w bazie danych? Jeżeli tak to gdzie i jaką funkcję trzeba było by zastosować do pobierania hasła i odkodowania go?

Opublikowano (edytowane)

Bo teraz tak, chciałbym że tak powiem zrobić coś w rodzaju korzystania tych samych kont i haseł w grze co na forum. Gra nie jest przez przeglądarkę tylko poprzez oddzielnego klienta i serwera (SA-MP).

I teraz mam rozkminę jak on mógłby porównać hasła czy są poprawne. Pewne jest to że trzeba było by napisać oddzielny plugin do serwera który mógłby porównywać ale jak i czy jest to w ogóle możliwe?

//edit:

W jakiej bazie są trzymane hasła?

Edytowane przez pziemczyk
  • Manager
Opublikowano

Nie znam tego serwera, nawet nie wiem jakby się do tego zabrać. w PHP to jeszcze by się coś wykminiło, ale mówisz, że to jakiś inny serwer jest.

Hasła są trzymane w bazie forum. :( A jeśli pytasz o tabelę to w tabeli ibf_members jest trzymane zakodowane hasło i salt do niego.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

A możesz zapodać skrypt php, przyda się :(

Aha, ibf_members niestety nie istnieje.

Edytowane przez pziemczyk
  • Manager
Opublikowano

Aha, to trzeba pomyśleć jak nie istnieje. Skoro nie masz to pewnie masz inny prefix, a prefix w tym przypadku to ibf_, więc jeśli masz inny to będzie innyprefix_members, albo members jeśli nie masz prefixu.

Nie pisałem takiego skryptu, to nie robi się w parę minut, jak Ty pewnie piszesz takie skrypty, skoro wydaje Ci się, że to takie hop siup.

Programujesz w OOP ( w PHP5 )?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

To znaczy mi taki skrypt byłby potrzebny aby potem napisać odpowiedni plugin a C++, przepraszam może za bardzo naskoczyłem z tym skryptem. Ale jeżeli byś miał chęci i czas to bardzo by się przydał taki skrypt w PHP, potem można zrobić odpowiednik w C++.

Faktycznie z tą tabelą to gapa ze mnie, jest oczywiście tabela members i pytanie moje, jakie komórki odpowiadają za hasła i za salt? (znalezione)

Edytowane przez pziemczyk
Opublikowano

Przykładowo, chodzi mi o to że ja chciałbym zrobić plugin do gry w C++ gdzie wpisuję komendę w grze

/login [hasło]

Następnie on porównuje wpisane hasło z tym z bazy danych i jeżeli jest dobre to przepuszcza, a jeżeli nie to nie.

Chciałbym jakiś wzór jak to wygląda mniej więcej w PHP aby móc potem jakoś przełożyć na C++

  • Manager
Opublikowano

Wszystkie funkcje zostały już napisane. Teraz tylko musisz sobie to poskładać do kupy. Skoro chcesz konwertować z PHP do C++ to i potrafisz napisać to w PHP, a potem w C++.

Polecam lekturę plików:

  • admin/applications/core/modules_public/global/login.php
  • admin/sources/handlers/han_login.php

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.