Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie hasła w php
Forum PHP.pl > Forum > PHP
Omin
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.
igormaster
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
Omin
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.
ohm
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
batman
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.
Neutral
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.