Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[DL] Authme kodowanie hasła w php.


Rekomendowane odpowiedzi

Opublikowano

Authme kodowanie hasła w php

Ostatnio chciałem zrobić rejestrację na stronie i zastanawiałem się nad kodowaniem haseł, używanym przez AutjMe. Napisałem coś takiego, więc czemu się tym nie podzielić:

<?php
	function ciag_znakow($dlugosc)
	{
		$ciag = md5(time());
		$ciag = substr($ciag,0,$dlugosc);
		return($ciag);
	}
	$haslo = $_POST['haslo'];
	$sol= ciag_znakow(16);	$haslo = hash('sha256', $haslo);
	$haslo = "$"."SHA"."$".$sol."$".hash('sha256', $haslo.$sol);
?>

Teraz krótkie objaśnienie:

Hasło zakodowane przez AuthMe wygląda np tak:


$SHA$ef57cf49439099c6$d85bdcceb91df3671c5df0f3c7b12097ae3e3b6148941aa5b85b272c3e5957ce

Możemy podzielić je na trzy części oddzielone znakiem "$":
1. Napis "SHA"
2. Sól wygenerowana losowo, zawierająca 16 cyfr lub liter, w tym wypadku: ef57cf49439099c6
3. hasło hashowane za pomocą sha256 a następnie jest dopisywana sól i całość jest hashowana ponownie.

Krótkie objaśnienie skryptu

<?php
	function ciag_znakow($dlugosc)
	{                                            //Jest to funkcja, która wygeneruje losowy ciąg
		$ciag = md5(time());                 //znaków, o podanej długości
		$ciag = substr($ciag,0,$dlugosc);
		return($ciag);
	}
	$haslo = $_POST['haslo'];             //Pobieramy hasło z formularza za pomocą metody POST
	$sol= ciag_znakow(16);              //Wywołujemy funkcje, generującą ciąg znaków
	$haslo = hash('sha256', $haslo);      //hashujemy hasło
 	$haslo = "$"."SHA"."$".$sol."$".hash('sha256', $haslo.$sol); //Podajemy pierwszy znak $ następnie SHA, kolejny znak $, następnie podajemy sól (aby Authme mógł sprawdzić, czy hasło wpisane w minecraft, zgadza się z tym w bazie danych, następnie kolejny znak dolara i zhashowane połączenie zhashowanego hasła i soli 
?>

Dzięki temu krótkiemu kodowi można tworzyć nowe hasła, które authme jest w stanie odczytać z bazy danych. Można to wykorzystać do rejestracji na stronie, do logowania, czy do zmiany hasła na stronie.

Opublikowano

­Fajnie wszystko opisane. :)


Można dodać to jako dodatek na swoją stronę WWW serwera!


Gratuluję!!!


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...