Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak zakodowac najprosciej plik
jokergti
post
Post #1





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

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


chcialem zakodowac plik tekstowy z haslami a pozniej przy odczycie go zdekodowac. Poniewaz nie umiem oblugiwac md5() ani innych takich, a ze potrzebuje prosciutkiego kodowania (chodzi o to by na pierwszy rzut oka pomyslec ze to jest zakodowane i juz zostawic w spokoju) chcialem napisac skrypt do kod i dekod przy uzyciu preg_replace. Ale kompletnie to mi nie wychodzi, tzn powstaja caly czas jakies problemy, a to zaszyfruje dobrze i nie odszyfruje a to odwrotnie i takie rozne. na koncu dolaczam listing programu, ale jakby ktos mial jakies inne pomysly wraz z przykladami to bardzo bym chetnie wysluchal (przeczytal)
[php:1:7245c17ea0]<?php


$plik=fopen("tekst.txt","r");
//$plik2=fopen("szyfr.txt","w");

$maska[0]="/1/";
$maska[1]="/2/";
$maska[2]="/3/";
$maska[3]="/4/";
$maska[4]="/5/";
$maska[5]="/6/";
$maska[6]="/7/";
$maska[7]="/8/";
$maska[8]="/9/";
$maska[9]="/a/";
$maska[10]="/b/";
$maska[11]="/c/";
$maska[12]="/d/";
$maska[13]="/e/";
$maska[14]="/f/";
$maska[15]="/g/";
$maska[16]="/h/";
$maska[17]="/i/";
$maska[18]="/j/";
$maska[19]="/k/";
$maska[20]="/l/";
$maska[21]="/m/";
$maska[22]="/n/";
$maska[23]="/o/";
$maska[24]="/p/";



$zmien[24]="a";
$zmien[23]="b";
$zmien[22]="c";
$zmien[21]="d";
$zmien[20]="e";
$zmien[19]="f";
$zmien[18]="g";
$zmien[17]="h";
$zmien[16]="i";
$zmien[15]="j";
$zmien[14]="k";
$zmien[13]="l";
$zmien[12]="m";
$zmien[11]="n";
$zmien[10]="o";
$zmien[9]="p";
$zmien[8]="q";
$zmien[7]="r";
$zmien[6]="s";
$zmien[5]="t";
$zmien[4]="u";
$zmien[3]="w";
$zmien[2]="y";
$zmien[1]="x";
$zmien[0]="z";




while(!(feof($plik))){

$dane=fgets($plik);
print("$dane<br>");

$kod=preg_replace($maska,$zmien,$dane);
print("$kod<br>");

//fputs($plik2, "$kod");

}
//fclose($plik2);


fclose($plik);

?>[/php:1:7245c17ea0]
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




[php:1:a5c4d63002]<?php
$niezakodowane = "costam";
$zakodowane = md5($niezakodowane);
?>[/php:1:a5c4d63002]Po co kombinujesz?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
dob
post
Post #3





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 30.01.2003
Skąd: Warszawa

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


Jak chcesz miec mozliwosc zakodowania i odkodowania to użyj funkcji base64_encode() i base64_decode()

[php:1:ee9b07c7df]<?php
$tekst="Jakis tekst do zakodowania";

//kodowanie
$zakodowany=base64_encode($tekst);
echo("$zakodowany");


//rozkodowanie
$rozkodowany=base64_decode($zakodowany);
echo("$rozkodowany");

?>[/php:1:ee9b07c7df]
Go to the top of the page
+Quote Post
jokergti
post
Post #4





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

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


dzieks za odpowiedz
Go to the top of the page
+Quote Post
scanner
post
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




hasła powinno się kodowac jednostronnie, algorytmem uniemożliwiającym dekrypcję. Takim jak np. [manual:bf6751b7cb]md5()[/manual:bf6751b7cb].


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
dchcorp
post
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.03.2003
Skąd: Częstochowa

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


jokergti: nawet jak ktoś zobaczy hasła zakodowane przez md5, to może nie popuścić. Ja bym sobie przyjemności dekodowania nie odpuścił smile.gif
Go to the top of the page
+Quote Post
spenalzo
post
Post #7





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
jokergti: nawet jak ktoś zobaczy hasła zakodowane przez md5, to może nie popuścić. Ja bym sobie przyjemności dekodowania nie odpuścił smile.gif

Życzę powodzenia. Jak Ci się uda, to powiadom nas - o ile to forum za kilka lat będzie jeszcze istneć. Zdekoduj mi np. to:
5ab5d99f2bc796a8fda074e7587979bc - i powiedz gdzie mieszkam i w jakim powiecie.


--------------------

Go to the top of the page
+Quote Post
FiDO
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Tak?? To prosze bardzo... odkoduj MD5. Sława gwarantowana.. Tymczasem, do uslyszenia za 1000 lat winksmiley.jpg


spenalzo: we Wrześni? biggrin.gif
Go to the top of the page
+Quote Post
spenalzo
post
Post #9





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
spenalzo: we Wrześni? :D

Nie :-P - chodzi mi o dokładną nazwę miejscowości. (powiat już mu zdradziłeś :-), więc musze zmienić)

W poniższym ciągu masz mój dokładny adres. Wyślij mi kartkę (lub raczej moim prapraprawnukom) jak odkodujesz.
Kod
96c3550c6a8e329010909813005fe5a6


--------------------

Go to the top of the page
+Quote Post
FiDO
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


I tu błąd, w tym kodzie nie ma Twojego adresu...
MD5 tak nie dziala. To jest stratne szyfrowanie (dlatego jednostronne) i nie da sie tego odwrocic. Przeciez 500MB plik tez ma swoj hash MD5, a chyba nikt nie sadzi, ze z 32 bajtow da sie odtworzyc caly plik biggrin.gif
Go to the top of the page
+Quote Post
spenalzo
post
Post #11





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
MD5 tak nie dziala. To jest stratne szyfrowanie (dlatego jednostronne) i nie da sie tego odwrocic.

Ja wiem. Ale można do tego dojść inaczej, np. przez porównywanie różnych ciągów.


--------------------

Go to the top of the page
+Quote Post
KaMeLeOn
post
Post #12





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

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


Cytat
Ja wiem. Ale można do tego dojść inaczej, np. przez porównywanie różnych ciągów.

Może jak w końcu kosmici u nas wylądują to nam pomogą... będzie szybciej niż za 1000 lat :wink:


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
spenalzo
post
Post #13





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
Może jak w końcu kosmici u nas wylądują to nam pomogą... będzie szybciej niż za 1000 lat :wink:

Dlatego napisałem mu, że jak znajdzie adres, to niech moim praprapraprapraprawnukom kartkę wyśle. laugh.gif


--------------------

Go to the top of the page
+Quote Post
dchcorp
post
Post #14





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.03.2003
Skąd: Częstochowa

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


hmm
Ale na mnie najechaliscie.
Już wyjasniam o co mi chodzilo.
Są ludzie, którzy ustawiają sobie krótkie hasła - 4,5 liter
Zrobiłem sobie kiedyś słowniczek(dosc duzo zajmuje) zahasowanych haseł od a do zzzzz, na wiecej mi nerwow nie starczylo.
I 5-literowe zahashowane hasła(z samych liter) to sobie moge spokojnie odczytac. Dajmy na to że w takim pliczku są zapisane hasła 300 userów, to duze prawdopodobienstwo, ze komus haselko zlamie.

Waszych adresików nie połamie, chce tylko autorowi tematu uświadomić że trzymanie w zwykłym pliku to nie jest dobre rozwiązanie.

A wy mnie jak ostatnia lame potraktowaliscie smile.gif
Przeciez mam racje
Go to the top of the page
+Quote Post
DeyV
post
Post #15





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Metodą brutalForce można oczywiście złąmać każde hasło. Tj. nie tyle znaleźć to hasło, jak raczej znaleść ciąg, który posiada taki sam hash. Ale przy kombinacji 32 znaków (tyle ma md5) jestto i tak na tyle duża liczba, że ...


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
dchcorp
post
Post #16





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.03.2003
Skąd: Częstochowa

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


Cytat
Ale przy kombinacji 32 znaków (tyle ma md5) jestto i tak na tyle duża liczba, że ...


Ale dla 3,4,5, nawet 6 znakow to jest mozliwe nawet na zwyklym pc'cie, nie trzeba do tego jakiejs super machiny.
Liczylem kiedys ile zajmie slownik dla 32-znakowego ciagu skladajacego sie z cyfr i liter(malych i duzych). Wyszlo mi ze nierealne jest wygenerowanie takiego slownika(za duzo zajmuje: cos rzedu 10^48 GB - moglem sie pomylic w obliczeniach).
Go to the top of the page
+Quote Post
spenalzo
post
Post #17





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
Ale przy kombinacji 32 znaków (tyle ma md5) jestto i tak na tyle duża liczba, że ...

MD5 zwraca małe litery, których jest 25. Miesza to razem z 10 cyframi.
Razem mamy 35 możliwych kombinacji na jedną pozycję. Pozycji jest 32 - więc policz sobie ile to jest.

Czyli tutaj się kłania matematyka (o ile nic nie popieprzyłem) - korzystając z pojęcia wariacji z powtórzeniami (ponieważ kolejność jest istotna i elementy mogą się powtarzać) więc mamy: 35^32 możliwych kombinacji ciągów, czyli mamy około 25 714 460 626 335 800 000 000 000 000 000 000 000 000 000 000 000
możliwych kombinacji.


--------------------

Go to the top of the page
+Quote Post
FiDO
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Dla 32 znaków przy założeniu 48 (duze i male) liter i 10 cyfr to jest jakies 58^32 co wg kalkulatora windowsowego daje liczbe o 57 cyfrach, wiec faktycznie troche za duzo. A jakby jeszcze policzyc ze chcesz wszystkie ciagi o dlugosci od 4 do 32 znakow to juz nawet liczyc mi sie nie chce smile.gif
Go to the top of the page
+Quote Post
spenalzo
post
Post #19





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Ale wydaje mis ię że MD5 daje tylko małe litery...


--------------------

Go to the top of the page
+Quote Post
dchcorp
post
Post #20





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.03.2003
Skąd: Częstochowa

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


porownaj stringi;
print md5('dchcorp') . '<br>' . md5('DCHCORP');
nie testowalem, ale wydaje mi sie ze bedzie roznica.

Jednak sie da odczytac hasla zahashowane md5...
A tak negatywnie byliscie nastawieni do mojego 1-go posta w tym topicu. smile.gif
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 16:02