Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

System kodowania haseł


Gość pziemczyk

Rekomendowane odpowiedzi

  • Manager

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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Hasła są trzymane w bazie danych - jak wszystko.

Nie odkodujesz haseł - to system szyfrowania jednokierunkowego.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

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
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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
Odnośnik do komentarza
Udostępnij na innych stronach

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++

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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ę.