dziama
22.04.2003, 11:57:49
Witam wszystkich,
mam taka dziwna akcje
rejestracja użytkownika poprzez formularz wpisuje do bazy danych hasło zakodowane md5 jako :xxxxxxxx
z kolei logowanie użytkownika wprowadzone hasło koduje przez md5 jako: yyyyyyyy.
czy ktoś może mi powiedzieć co jest nie tak?
z góry dzięki
itsme
22.04.2003, 12:11:20
ale powiedz jaki jest problem
co sie dzieje nie tak
uboottd
22.04.2003, 12:48:43
A jestes pewien ze przekazujesz zawsze te same stringi ? Wez wloz sobie gdzies echo $moja_zmienna_z_haslem i zobacz czy na pewno nie ma roznic.
dziama
22.04.2003, 13:33:29
dodawanie usera:
jest tak:
*formularz z <input type=password name=pass>
//kodowanie
$passcode=md5($pass);
no i z echo $zapytanie mam w miejscu hasła xxxxxx
*formularz logowania
<input type=password name=pass>
i robie kodowanie-
$pwd=md5($pass);
i porównianie
if($passcheck[0] == $pwd)
i echo $pwd; - co daje yyyyy
maggot
22.04.2003, 13:47:56
dziama
22.04.2003, 14:13:50
ale mi tu nie chodzi o przekazywanie zmiennych, tylko o to dlaczego dzieje sie tak ze md5 koduje raz wartosc do xxxx a innym razem ta sama wartosc to yyyy i jak mam zapobiec czemus takiemu.
A moze ktos poda mi jakis prosty sposob zakodowania hasla i potem sprawdzenia jego poprzez kodowanie/dekodowanie.
Probowalem przez mhash ale to cos nie dziala.
Dzieki za pomoc
DeyV
22.04.2003, 14:18:20
md5 jest w 100% skutecznym, bardzo bezpiecznym i najpopularniejszym rozwiazaniem.
Stąd nie dziw sie ogólniemu przekonaniu, że bład tkwi w Twoim skrypcie.
Jabol
22.04.2003, 14:45:22
a może wprowadzasz hasła w innym kodowaniu??
scanner
22.04.2003, 15:09:35
[php:1:0adabe00ed]<?php
//zmienna A
$passcode=md5($pass);
//zmienna B
$pwd=md5($pass);
// a skad sie wziął $passcheck

?
if($passcheck[0] == $pwd)
?>[/php:1:0adabe00ed]
Wklej dokładnie kody a nie jakieś fiubzdziu za przeproszeniem, ok?
dziama
23.04.2003, 08:43:06
formularz logowania:
----------------------------
<?php
echo " TUTAJ FORMULARZ Z LOGIN I PASS";
if($akcja==zaloguj){
$pwd=md5($pass);
echo $pwd; -wyświetla xxxxxxx
include ("conn.php");
$logowanie = " SELECT pass FROM pmx_users WHERE login='$loginame'";
$wynik_log = mysql_query($logowanie);
$znaleziono = mysql_num_rows($wynik_log);
if ($znaleziono==0)
{
echo "Użytkownik o podanej nazwie nie istnieje.Jeżeli chcesz się zarejestrować, kliknij <a HREF=rejestracja.php>tutaj</A>";
} else {
$passcheck = mysql_fetch_array($wynik_log);
if($passcheck[0] == $pwd)
{
session_register("loginame");
session_register("passcheck");
echo "<meta http-equiv='refresh' content='0; url=main.php'>";
}else {
echo "Podałeś nieprawidłowe hasło, spróbuj ponownie lub skorzystaj z przesłania hałsa na adres e-mail."; }
}
}
}
?>
dodawanie użytkownika:
<?
echo "TU FORMULARZ Z IMIE, NAZWISKO, LOGIN I PASSWORD";
$passcode=md5($pass);
include("conn.php");
//zapytanko do wstawienia usera
$adduser = " INSERT INTO pmx_users (`id_usera`, `imie`, `nazwisko`, `pesel`, `telefon`, `gsm`, `email`, `login`, `pass`) VALUES ('', '".$imie."', '".$nazwisko."', '".$pesel."', '".$telefon."', '".$gsm."', '".$email.", '".$login."', '".$passcode."')";
$useradded = mysql_query($adduser);
echo $adduser; - zwraca m.in jako $passcode yyyy
?>
Mam nadzieje, że teraz jest juz w miare jasne jak to wygląda.
scanner
23.04.2003, 09:14:37
Jasne by było, gdybyś zastosował się do
tego punktu regulaminu
Tak sobie myślę i zastanawiam się skąd bierzesz zmienne:
$passcode=md5(
$pass); bo na moje oko, to nejlepiej byś wyszedl na tym, jakbyś wyciągał je z $_POST.
Zacznij od tego, że sprawdź czy w nazwach pól w formularzy nie masz literówek.
Podczas rejestracji:
Zrób echo $pass.' => '.$pascode.'>br>';
Zapisz dwynik na kartce i ten sam kodzik wstaw przy logowaniu.
Jelsi tylko $pass jest te samo, to MD%($pass) musi być IDENTYCZNE.
Pamiętaj, że nawet dodatkowa spacja w haśle powoduje zmienę md5().
dziama
23.04.2003, 13:25:02
dzięki ale własnie sam sobie poradziłem, troche kombinowania i znalazł sie błąd aczkolwiek nie wiem jak go wytłumaczyć no ale
kain
24.04.2003, 11:57:17
wiem ze to temat na off-topic ale ... tu jest poruszony ten problem przynjamie czesciowo .
Czy mogl by ktos mi powiedziec dzie znajde model matematyczny dm5

? ale prosilbym o polski text bo z angielskigo nie jestem az tak dobry zeby zrozumiec belkot matematyczny
dragossani
24.04.2003, 12:56:45
W
tej pracy jest fragment na temat MD5. Warto się jednak pomęczyć i przebrnąć przez
oficjalną specyfikację jeśli rzeczywiście Cię to interesuje.
kain
25.04.2003, 11:55:07
Dzieki
Masz racie przebrnalem przez specyfikacje (3h- z pomoca qmpla z angli

) i jush wszytko wiem. Chodzilo mi wlasciwie o sam algorytm decryptujacy ale ... to tam bylo a po zatym przydatny bzdecik taki texcik jest do czego zajzec w razie glopiej wpadki na informatyce 8)
LuckyStrike
4.05.2003, 10:25:40
oczywiście że md5 dobrze działa. Powiem więcej: twoj kod działa też dobrze, tylko ty tego nie widzisz (nie widziałeś) bo masz taki bajerek:
echo "<meta http-equiv='refresh' content='0; url=main.php'>";
czyli twoje echo jest pokazane przez chwilke i po (refresh=0) twoje zmienne maja juz inne wartości, a właściwie sa puste. Dlatego zamiast zaszyfrowanego hasła dostajesz coś takiego "d41d8cd98f00b204e9800998ecf8427e" czyli zaszyfrowany pusty ciąg.
Pozdrawiam!
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.