Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Generowanie hasła w php
Omin
post 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.
Go to the top of the page
+Quote Post
igormaster
post 10.06.2018, 15:34:57
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 10.06.2018

Ostrzeżenie: (0%)
-----


Cytat(Omin @ 10.06.2018, 16:25:46 ) *
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
Go to the top of the page
+Quote Post
Omin
post 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.
Go to the top of the page
+Quote Post
ohm
post 10.06.2018, 17:15:43
Post #4





Grupa: Zarejestrowani
Postów: 618
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
Go to the top of the page
+Quote Post
batman
post 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.
Go to the top of the page
+Quote Post
Neutral
post 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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 22:07