Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> odkodowanie ciagu znakow
Sokrates
post
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Wrocław

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


Witam ponownie,

W bazie danych mam zakodowany ciag znakow za pomoca (PASSWORD('tu_ciag_znakow')),
teraz potrzebuje wyciagnac z bazy ten ciag i wyswietlic normalny text.
Czy jest to mozliwe do wykonania...
Nie uzywam tu zadnego porownania z przesylanym formularzem, po prostu to co mam zakodowane w bazie chcial bym wyswietlic na stronie w formie odkodowanej...

Za wszelka pomoc wielkie dzieki...

Pozdrawiam...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sokrates
post
Post #2





Grupa: Zarejestrowani
Postów: 96
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Wrocław

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


Cytat(My4tic @ 12.09.2006, 23:13:09 ) *
Poza tym dlaczego używasz PASSWORD? W wersji MySQL 3.x 4.x złamanie hasza tej funkcji brute forcem to kwestia kilku chwil.

W takim razie co proponujesz, jesli nie PASSWORD? md5? Czy jeszcze co innego?

Cytat(kossa @ 12.09.2006, 23:13:28 ) *
Jest to kodowanie/szyforwanie jednostronne. Nie da się tego rozkodować, podobnie jak np. md5();

W takim razie czy istnieje jakas stala funkcja php typu kode() , dekode() , ktora bedzie wprowadzac zakodowane ciagi znakow (np .: kode(blebleble) ) do bazy a pozniej ,wyciagniete z bazy zakodowane ciagi znakow odkodowywac w php (np za pomoca funkcji dekode(#lk34nd%q), otrzymamy "blebleble" - jesli wogle cos takiego istnieje)

Dziekiza odpowiedzi...
Pozdrawiam...
Go to the top of the page
+Quote Post
My4tic
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Cytat(Sokrates @ 13.09.2006, 07:36:41 ) *
W takim razie co proponujesz, jesli nie PASSWORD? md5? Czy jeszcze co innego?


MD5 połączone np. z sha1

Cytat(Sokrates @ 13.09.2006, 07:36:41 ) *
W takim razie czy istnieje jakas stala funkcja php typu kode() , dekode() , ktora bedzie wprowadzac zakodowane ciagi znakow (np .: kode(blebleble) ) do bazy a pozniej ,wyciagniete z bazy zakodowane ciagi znakow odkodowywac w php (np za pomoca funkcji dekode(#lk34nd%q), otrzymamy "blebleble" - jesli wogle cos takiego istnieje)


A zastanów się czy jest sens stosować takie rozwiązanie? Jak ktoś uzyska dostęp do bazy to będzie miał pewnie też dostęp to plików na serwerze. Otworzy skrypt, zobaczy czego używasz i w 10 sekund będzie miał jawne hasła. W ogole trzymanie jawnych haseł userów czy wyświetlanie ich w jakimkolwiek momencie na stronie jest złym pomysłem. Od momentu rejestracji usera i podania hasła wszystko powinno być zhaszowane i dalesze operacje wykonujesz juz tylko na haszach (przypomnienie hasła, zmiana hasła etc.)
Go to the top of the page
+Quote Post
macbirdie
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.09.2006
Skąd: Poznań

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


Cytat(My4tic @ 13.09.2006, 09:57:56 ) *
dalesze operacje wykonujesz juz tylko na haszach (przypomnienie hasła, zmiana hasła etc.)

tylko trudno odhaszować hasło, by je użytkownikowi przypomnieć (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Swoją drogą lepiej zahaszować md5 przez sha1, nie sha1 md5-tką, a i tak nie ma sensu aż tak kombinować, wystarczy sha1(hasło + np. username lub data rejestracji) - wtedy dwa takie same hasła dwóch różnych userów nie są takie same w formie zahaszowanej.

Sokrates - pierwszy input type="submit" powinien reagować na enter z klawiatury wciśnięty w formularzu, nieważne w której kontrolce. W moim przypadku zawsze tak robi przynajmniej IE i Fx. Ale jeśli nie, to tak jak mówisz - postawić event handler na onkeydown i mission complete. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował macbirdie 13.09.2006, 19:31:06
Go to the top of the page
+Quote Post
My4tic
post
Post #5





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Dzięki piwoszeq za podbicie tematu bo dopiero teraz doczytałem jakie pierdoły On tu pisze...

Cytat(macbirdie @ 13.09.2006, 18:22:38 ) *
Swoją drogą lepiej zahaszować md5 przez sha1, nie sha1 md5-tką, a i tak nie ma sensu aż tak kombinować, wystarczy sha1(hasło + np. username lub data rejestracji) - wtedy dwa takie same hasła dwóch różnych userów nie są takie same w formie zahaszowanej.


1. MD5 jest algorytmem kolizyjnym - też już było o tym milion razy, więc możesz kombinować z hasłem jak chcesz a i tak może sie zdarzyć, że dwa różne ciągi dadzą taki sam hasz (SHA-1 również!).

2. Powiedz mi dlaczego lepiej "zahaszować md5 przez sha1, nie sha1 md5-tką" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Nie ma żadnej różnicy co zrobisz w pierwszej kolejności. Podwójne haszowanie ma tylko jeden cel - nie wiesz jaki to poszukaj na forum - o tym też już kilka razy było. Swoją drogą haszowanie sha1(md5) może i ma jakąś zalete w porównaniu do md5(sha1) ale coś wątpie żebyś o niej akurat myślał.

3. md5(sha1) to jest kombinowanie? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) A robienie dodatkowej tabeli w SQL, trzymanie w niej śmieci takich jak data rejestracji, przy każdym logowaniu wczytywanie dwóch warotści, łączenie i haszowanie jest Twoim zdaniem bardziej optymalne? ...a co jeśli user zechce zmienić nick? To co? Już nie zaloguje się do serwisu?
Go to the top of the page
+Quote Post
macbirdie
post
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.09.2006
Skąd: Poznań

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


Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
Dzięki piwoszeq za podbicie tematu bo dopiero teraz doczytałem jakie pierdoły On tu pisze...

Wybacz, że nie zgadzam się ślepo z Twoim jedynym słusznym zdaniem. Nie niweluję jednak znaczenia Twojej wypowiedzi nazywając ją "pierdołami".

Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
1. MD5 jest algorytmem kolizyjnym

Uff, nie zgadłbym, dzięki (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (sarkazm)

Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
też już było o tym milion razy, więc możesz kombinować z hasłem jak chcesz a i tak może sie zdarzyć, że dwa różne ciągi dadzą taki sam hasz (SHA-1 również!).

Dlatego właśnie warto wprowadzić dodatkowy czynnik dający różne hashe dla tego samego hasła.
A dlaczego? Ano dlatego że gdy ktoś się dobierze do bazy, to ma o wiele mniejsze szanse trafienia na dwa takie same hashe dwóch takich samych haseł, z których jedno może znać, jak się może okazać.
Prosta sytuacja - jest sobie zły admin jakiegoś portalu, zauważa że zarejestrował się u niego nielubiany administrator innego, być może konkurencyjnego. Jakimś sposobem dobija się do tamtej bazy, udaje mu się zdobyć hasze, korzysta z prostego faktu, że sporo ludzi stosuje te same hasła na różnych stronach, do tego okazuje się że systemy autoryzacji w obu portalach korzystają z podobnie prymitywnych metod i akurat ma to szczęście że hasło (hash) jest to samo i dostaje się do konsoli administracyjnej lub może się podszyć. Zaznaczam na wszelki wypadek - jest to mało prawdopodobna sytuacja, ale taki wypadek moim zdaniem i tak dobrze jest wykluczyć (jak to B. Schneier napisał, paranoja w kryptografii wskazana). Idę zmienić hasło u siebie i powiem adminowi, by jeszcze lepiej serwer SQL zabezpieczył. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Kolizja SHA-1 jest znacznie mniej prawdopodobna, niż przy MD5, ale oczywiście możliwa do wykonania w skończonym czasie. Z tego co niedawno czytałem, przy aktualnych metodach ataku kolizyjnego na MD5, wystarczy jakieś 2^33 operacji, przy SHA-1 póki co "aż" 2^69. Mimo że SHA1 jest wiele mocniejszy, w nowych projektach, w których stawia się na bezpieczeństwo, nie zaleca korzystania już z żadnej z tych funkcji. Oczywiście do trzymania hasełek w portaliku nadają się na razie świetnie. Mniejsza atrakcyjność celu, więc mniejsza szansa ataku.

Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
2. Powiedz mi dlaczego lepiej "zahaszować md5 przez sha1, nie sha1 md5-tką" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Nie ma żadnej różnicy co zrobisz w pierwszej kolejności.
Swoją drogą haszowanie sha1(md5) może i ma jakąś zalete w porównaniu do md5(sha1) ale coś wątpie żebyś o niej akurat myślał.

Dlaczego wątpisz? Bo zakładasz że skoro jestem nowy na forum, to nie mam o niczym bladego pojęcia? Nie jestem ekspertem od kryptografii, ale MD5 jest algorytmem słabszym, od dłuższego niż SHA1 czasu atakowany, z lepszym skutkiem, więc jeśli komuś się uda zmniejszyć jeszcze jego bezpieczeństwo, szybciej uzyska SHA1. W drugą stronę będzie trudniej, a przynajmniej dłużej. Nie jest to na pewno potężna różnica, ale nie taka, byś się tak o to tak bardzo burzył, jakbym jakiegoś świętokradztwa dokonał. Przyszedł jakiś knypek z paroma postami i śmie nie zgodzić się z "guru" php?

Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
3. md5(sha1) to jest kombinowanie? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) A robienie dodatkowej tabeli w SQL, trzymanie w niej śmieci takich jak data rejestracji, przy każdym logowaniu wczytywanie dwóch warotści, łączenie i haszowanie jest Twoim zdaniem bardziej optymalne?

A dlaczego jakąś dodatkową tabelę tworzyć? Ja mam w tabeli użytkowników także kolumnę daty rejestracji, widząc po tabelach wielu różnych choćby forów, tak zazwyczaj jest. A przecież nie chodziło mi koniecznie o datę rejestracji, to żeś się przyczepił i tutaj. Wyciągnięcie jednej więcej kolumny z pojedynczego rekordu w bazie i zrobienie concata jest "troszkę" szybsze, niż wykonywanie dwóch funkcji mieszających i fałszywe poczucie większego bezpieczeństwa. Obie metody są w świetle niskiego bezpieczeństwa SHA1 i MD5 i tak mało skuteczne, ale ... przypominam o kwestii wyżej - ten sam hash dwóch takich samych haseł dwóch różnych userów lub tego samego w dwóch różnych bazach. I jeszcze raz zaznaczam - nie uważam że to jest wieelka, absolutna, przełomowa poprawa bezpieczeństwa, ale zapobiega takiej, mimo że mało prawdopodobnej, to jednak możliwej sytuacji. Bo trudniej trafić na ten sam hash dla dwóch tych samych haseł + dodatkowych czynników "dosalających", niż po prostu dwóch tych samych haseł.

Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
...a co jeśli user zechce zmienić nick? To co? Już nie zaloguje się do serwisu?

A zauważyłeś małe, skromne, delikatne np. (rozw. na przykład)? Nie musi to być data rejestracji, nie musi być to login - uczepiłeś się tych dwóch rzeczy, zamiast choćby spróbować zrozumieć, o co mi chodzi. Chodzi mi o dowolny czynnik pozwalający uzyskać w efekcie dwa różne hashe dla takich samych haseł. [czekam aż ktoś wyrwie moją wypowiedź z kontekstu i zapyta, jak można uzyskać dwa różne hashe dla tego samego ciągu znaków (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) ]

Cytat(My4tic @ 13.09.2006, 21:49:44 ) *
...ehh wiadomo ze przypomnienie hasła to w gruncie rzeczy wygenerowanie nowego, myślałem, że jest to jasne skoro już z milion razy był wałkowany ten temat ale widać, że milion to za mało i trzeba powtorzyć kazdemu osobno.

Tak, wiadomo że jazda rowerem to w gruncie rzeczy szybkie bieganie. Mi niestety nie "wiadomo", bo dla mnie liczy się precyzja wypowiedzi. A tutaj uczepiłem się po prostu dla żarciku. Jednak przepraszam, skoro jesteś tak śmiertelnie poważny, że nie przeczytałem od czasu mojej rejestracji całego forum od deski do deski! Weź jakiś urlop, albo zanim odpowiadasz na forum policz do 10, weź głęboki oddech. Dopuść możliwość że ktoś oprócz Ciebie może też mieć choć trochę racji.
I pamiętaj, wdech, wydech, wdech, wydech.

Ten post edytował macbirdie 13.09.2006, 23:39:32
Go to the top of the page
+Quote Post

Posty w temacie
- Sokrates   odkodowanie ciagu znakow   12.09.2006, 22:00:14
- - My4tic   PASSWORD używa algorytmu haszującego a nie kodując...   12.09.2006, 22:13:09
- - kossa   Jest to kodowanie/szyforwanie jednostronne. Nie da...   12.09.2006, 22:13:28
- - Sokrates   Cytat(My4tic @ 12.09.2006, 23:13:09 )...   13.09.2006, 08:36:41
|- - My4tic   Cytat(Sokrates @ 13.09.2006, 07:36:41...   13.09.2006, 08:57:56
|- - macbirdie   Cytat(My4tic @ 13.09.2006, 09:57:56 )...   13.09.2006, 19:22:38
|- - My4tic   Cytat(macbirdie @ 13.09.2006, 18:22:3...   13.09.2006, 19:40:55
|- - piwoszeq   Cytat(macbirdie @ 13.09.2006, 18:22:3...   13.09.2006, 20:15:27
|- - My4tic   Dzięki piwoszeq za podbicie tematu bo dopiero tera...   13.09.2006, 20:49:44
||- - macbirdie   Cytat(My4tic @ 13.09.2006, 21:49:44 )...   13.09.2006, 23:31:38
|- - My4tic   Tak, wiem Wszystko to co wystukałem było do macbi...   13.09.2006, 21:35:28
- - php programmer   moze nie bede odkrywczy, ale to chyba sie robi tak...   13.09.2006, 08:46:32
- - php programmer   CytatW takim razie czy istnieje jakas stala funkcj...   13.09.2006, 09:03:31
- - Sokrates   Cytat(php programmer @ 13.09.2006, 09:46...   13.09.2006, 09:36:52
|- - My4tic   Cytat(Sokrates @ 13.09.2006, 08:36:52...   13.09.2006, 10:20:44
- - Sokrates   Cytat(My4tic @ 13.09.2006, 11:20:44 )...   13.09.2006, 12:13:53
- - piwoszeq   #3 nie chodzilo mi to to ze md5(sha1) to kominowa...   13.09.2006, 21:27:59
- - My4tic   Widze, że uraziłem kogoś ambicje. Piszesz jakbym n...   14.09.2006, 10:09:35
- - kszychu   Panowie, proszę wyjść sobie za róg i tam sprawę wy...   14.09.2006, 10:25:13


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

 



RSS Aktualny czas: 2.04.2026 - 01:09