Generowanie hasła w php |
Generowanie hasła w php |
10.06.2018, 15:25:46
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 18.08.2014 Ostrzeżenie: (0%) |
Witam,
w jaki sposób mogę wygenerowane hasło zaszyfrować w php, przesłać je do bazy danych, a później z powrotem je odszyfrować, tak abym mógł je podać użytkownikowi? Chciałem się dowiedzieć czy w ogóle jest taka możliwość i jak to zrobić, aby było w miarę bezpiecznie. |
|
|
10.06.2018, 15:34:57
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 10.06.2018 Ostrzeżenie: (0%) |
Witam, w jaki sposób mogę wygenerowane hasło zaszyfrować w php, przesłać je do bazy danych, a później z powrotem je odszyfrować, tak abym mógł je podać użytkownikowi? Chciałem się dowiedzieć czy w ogóle jest taka możliwość i jak to zrobić, aby było w miarę bezpiecznie. Witaj rozumiem że chodzi ci o to aby hasło było wysyłane do bazy mysql w md5 czyli zakodowane ale i mieć możliwość jego odczytania ? możesz użyć dekodera md5 albo wysyłać hasło niekodowane tyle że przy ewentualnym włamaniu hasło widzi każdy na przykładzie <?php function filtruj($zmienna) { if(get_magic_quotes_gpc()) $zmienna = stripslashes($zmienna); // usuwamy slashe // usuwamy spacje, tagi html oraz niebezpieczne znaki return mysql_real_escape_string(htmlspecialchars(trim($zmienna))); } if (isset($_POST['loguj'])) { $login = filtruj($_POST['login']); $haslo = filtruj($_POST['haslo']); $ip = filtruj($_SERVER['REMOTE_ADDR']); // sprawdzamy czy login i hasło są dobre if (mysql_num_rows(mysql_query("SELECT login, haslo FROM uzytkownicy WHERE login = '".$login."' AND haslo = '".md5($haslo)."';")) > 0) { // uaktualniamy date logowania oraz ip mysql_query("UPDATE `uzytkownicy` SET (`logowanie` = '".time().", `ip` = '".$ip."'') WHERE login = '".$login."';"); $_SESSION['zalogowany'] = true; $_SESSION['login'] = $login; // zalogowany } else echo "Wpisano złe dane."; } ?> testowałem to i było hasło w md5 wiem że jest wiele metod kodowania poklikaj po necie coś znajdziesz, ale może ktoś inny Ci pomoże lepiej sam jestem noobem wiem że md5 idzie odkodować i poznać wpis hasła Ten post edytował igormaster 10.06.2018, 15:43:01 |
|
|
10.06.2018, 15:42:17
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 18.08.2014 Ostrzeżenie: (0%) |
Ogólnie chodzi o to by zaszyfrować plik. Ten etap mam już za sobą, teraz jeszcze zostało mi utworzenie automatycznego generowania hasła do pliku. Takie hasło muszę gdzieś umieścić, czyli w bazie danych. Użytkownik otrzyma hasło do pliku dopiero po jakimś terminie, dlatego ważne jest aby je rozszyfrować przy przesłaniu do użytkownika.
|
|
|
10.06.2018, 17:15:43
Post
#4
|
|
Grupa: Zarejestrowani Postów: 619 Pomógł: 143 Dołączył: 22.12.2010 Ostrzeżenie: (0%) |
Szybciej będzie Ci użyć AES po stronie SQL,
https://www.w3resource.com/mysql/encryption...s_encrypt().php Tylko jeszcze musisz wymyśleć jakiś mechanizm klucza szyfrującego |
|
|
10.06.2018, 17:49:21
Post
#5
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Szyfrowanie hasła - https://secure.php.net/manual/en/function.o...ssl-encrypt.php
Odszyfrowanie hasła - https://secure.php.net/manual/en/function.o...ssl-decrypt.php Prościej i bezpieczniej się nie da. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
10.06.2018, 18:37:51
Post
#6
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Miej może dwie bazy lub dwie tabele. W pierwszej bazie/tabeli trzymaj hasła zaszyfrowane, których już nie zobaczysz i te dane wystawisz na produkcję, czyli sprawdzanie, czy hasło jest poprawne, itp.. Natomiast w drugiej bazie/tabeli trzymaj hasła niezaszyfrowane, ewentualnie zahashowane, takie, które mógłbyś od'hash'ować i odkodować i zobaczyć jakie jest naprawdę. To też jest jakaś myśl, jeśli zależy Ci na zobaczeniu haseł (czy czegoś tam) użytkowników.
Ten post edytował Neutral 10.06.2018, 18:38:54 |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 04:03 |