Dekodiraj string koristeci PHP?

Evo upravo sam naletio na oglas za posao Senior PHP developera:
Senior PHP programer | REP.HR

I imaju “zanimljiv” zadatak da biste dokazali da ste Senior PHP developer. Malo sam se poigrao sa zadatkom i nisam ga uspio sredit, iako se bavim PHP-om vise od 8 godina i radio kao Senior PHP developer i smatram se Senior PHP developerom :slight_smile:

Pa me zanima jel zna netko rjesit taj zadatak, znaci potrebno je dekodirat ovaj string:

MDA3MTY4MDAwODg4MDE0NzIwMDAwMzg4MDAwNDQ0MDAwNTEyMDAwMzg4MDI1NjAwMDA3NDg4MDA3Mjk2MDAzNTUyMDAyOTQ0MDAwODMyMDAzNjQ4IzYzNzIyMzI4NjY1NjM1

koji predstavlja validnu email adresu na aduro.hr domeni, znaci znamo da zavrsava sa @aduro.hr

E sad nikako ovo nisam uspio rjesit pa sam pomislio otvorit topic pa da pokusamo zajedno ovo napravit.
Ono kako meni zadatak izgleda, je da taj zadatak uopce ne testira poznavanje PHP-a niti logicko razmisljanje ili iskustvo koristenja PHP-a. Nego jednostavno trazenje igle u plastu sijena. Izgleda kao da je trenutni Senior PHP developer napravio svoj algoritam za kriptiranje stringova i sad je potrebno pronaci taj algoritam ali u obrnutom smijeru, sto je nista drugo nego trazenje igre u plastu sijena. Po meni je zadatak potpuna glupost, jer svatko od nas moze napisati svoj algoritam koji ce izvrtiti string na nacin i u koracima koje samo mi znamo, i onda je za onoga tko pokusava taj string dekodirati to samo cisto igra pokusaja i promasaja sto ne testira niti znanje PHP-a niti logicko razmisljanje.

Volio bih kada bi svi zajedno dali svoje ideje sto bi ovo moglo biti, i na koji nacin bi se ovaj zadatak mogao rijesiti. I da ga pokusamo zajedno rijesit. Pa onda ako se do rjesenja moze doci logickim razmisljanjem, bez srece, povuci cu sto sam rekao o tome da je zadatak glup.
Ako imate neke ideje ili znate bar jedan dio problema kako rjesiti napisite tu pa cemo ga zajedno probit :smiley:

Ono kako razmisljam do sada je sljedece, MDA, MDE i MDI se cesto ponavlja, pa bi se string mogao razbiti na 17 stringova ovako:

MDA3MTY4
MDAwODg4
MDE0NzIw
MDAwMzg4
MDAwNDQ0
MDAwNTEy
MDAwMzg4
MDI1NjAw
MDA3NDg4
MDA3Mjk2
MDAzNTUy
MDAyOTQ0
MDAwODMy
MDAzNjQ4
IzYzNzIy
MzI4NjY1
NjM1

ili

MDA3
MTY4
MDAw
ODg4
MDE0
NzIw
MDAw
Mzg4
MDAw
NDQ0
MDAw
NTEy
MDAw
Mzg4
MDI1
NjAw
MDA3
NDg4
MDA3
Mjk2
MDAz
NTUy
MDAy
OTQ0
MDAw
ODMy
MDAz
NjQ4
IzYz
NzIy
MzI4
NjY1
NjM1

gdje bi svaki string mogao predstavljati jedno slovo?

Dalje, hash funkcije tipa md5, sha1 … se ne koriste odnosno nebi se trebale koristiti jer hash ide u jednom smjeru i nemoguce je povratiti informaciju iz hash-a. Moguce je ali nije zamisljeno za vracanje tako da predpostavljam da nisu na to ciljali jer ako jesu onda je nemoguce u PHP-u vratit sha1 hash u prvobitni oblik.

Isto tako, mcrypt funkcije ne mozemo koristiti jer nemamo $key, tako da i to ispada iz igre.

Znaci kako mi sad ovo izgleda, nemoguce je rijesiti zadatak logickim razmisljanjem, bez da pokusavas n puta razlicite PHP funkcije.

Jel ima netko logicko rjesenje za ovo?

moguće da je korištena mcrypt funkcija, a stringu su nadodali i ključ.

Da i to sam pomislio, ali na koji logican nacin mozemo saznati sto je u stringu kljuc :smiley: Osim da n puta pokusavamo sto mi se neda :smiley:

bila je rasprava na developers hrvatska o ovome, problem je bas u key-u kojeg mozes samo pogodit, a mislim da je kretenizam pogadjanje…

ovaj oglas veze nema sa znanjem php-a koje mora imati senior developer…

To i ja mislim. Totalna glupost, zadatak uopce ne testira logicko razmisljanje i poznavanje PHP-a. Nego moras jednostavno pogadati na koji nacin je razmisljao onaj tko je kodirao string sto je nista vise nego pogadanje. U tom slucaju mi je bolje onda lutriju igrat.

Otvorio sam i topic na stack overflow-u gdje nitko apsolutno nitko nije znao rjesit zadatak. I vecina je rekla da predpostavlja da je trenutni senior developer napravio svoj algoritam i misli da je jako cool i sad zeli vidjet jel ga netko moze probit.

A svatko od nas tu, moze napisati neki algoritam koji ce izmjesat stringove u koracima koje samo mi znamo i koristeci funkcije koje samo mi znamo i potpuna je glupost onda ocekivat da ce netko to moci dekodirat koristeci logicko razmisljanje.

Jos jednom, ako mi netko pokaze kako se ovaj string moze dekodirat koristeci logicko razmisljanje a ne pogadanje, povuci cu da je zadatak glupost.

Jel mi mozes dati link da developers hrvatska gdje se rasparavlja o zadatku?

[quote=“otporan”]To i ja mislim. Totalna glupost, zadatak uopce ne testira logicko razmisljanje i poznavanje PHP-a. Nego moras jednostavno pogadati na koji nacin je razmisljao onaj tko je kodirao string sto je nista vise nego pogadanje. U tom slucaju mi je bolje onda lutriju igrat.

Otvorio sam i topic na stack overflow-u gdje nitko apsolutno nitko nije znao rjesit zadatak. I vecina je rekla da predpostavlja da je trenutni senior developer napravio svoj algoritam i misli da je jako cool i sad zeli vidjet jel ga netko moze probit.

A svatko od nas tu, moze napisati neki algoritam koji ce izmjesat stringove u koracima koje samo mi znamo i koristeci funkcije koje samo mi znamo i potpuna je glupost onda ocekivat da ce netko to moci dekodirat koristeci logicko razmisljanje.

Jos jednom, ako mi netko pokaze kako se ovaj string moze dekodirat koristeci logicko razmisljanje a ne pogadanje, povuci cu da je zadatak glupost.

Jel mi mozes dati link da developers hrvatska gdje se rasparavlja o zadatku?[/quote]

vi je aduro.hr, to je sigurno, samo key treba pogoditi…

upisi na faceu Developers Hrvatska i podnesi zahtjev za ulazak u grupu

ah, vidim da se i ovdje pokušava to riješiti. Ja sam prvo provuko kroz base64_decode i dobio ovo:
007168000888014720000388000444000512000388025600007488007296003552002944000832003648#63722328665635

znači prvi dio bi bio kriptirani string, a iza # vjerojatno key. Onda sam to provukao kroz mcrypt_decrypt i probao sve cipher algoritme, svi su mi dali rješenje ala ovo:
GT;h�&D�^٠N�v���� “�p�WG}�” ��h�B.�#kԿ*�&Q�X�Œ�.��

Mislim, ja sam tak i tak mislio poslat molbu za junior programera što sam i napravio, ali reko da svejedno probam. U svakom slučaju slažem se s ostalim postovima ovdje, ovo nema veze s PHPom nego sa dekriptiranjem.

Ima i na zgphpmeetups. Brijem da je jako bitno da se rijesi. Tip je napisao da se ne bave izradom web stranica…

U svijetlu dogadjaja iz proslih tjedana, mozda tajna sluzba trazi nove radnike :slight_smile:

Ja sam prije 5-6 dana riješio ovaj zadatak i poslao molbu u aduro.hr ali mi se nisu udostojili ni javiti pa makar s standardnom odbijenicom. Anyhow, evo rješenja:

63722328665635 -> key -> 14 znamenki
007168000888014720000388000444000512000388025600007488007296003552002944000832003648 -> email -> 14x6 znamenki ->

007168 - 6
000888 - 3
014720 - 7
000388 - 2
000444 - 2

000512 - 3

000388 - 2
025600 - 8
007488 - 6
007296 - 6
003552 - 5

002944 - 6

000832 - 3
003648 - 5

Rečeno je da je e-mail validan e-mail na aduro.hr domeni, što znači da bi 000512 trebao biti znak ‘@’. Pored šesteroznamenkastih sekvenci brojeva sam poredao znamenke iz keya. Sad je pitanje kako iz 512 i broja 3 dobiti @. @ u ascii tablici ima vrijednost 64. 64 = 512/8 -> 64 = 512/(2^3). Iz toga:

007168/(2^6) = 112 = p
000888/(2^3) = 111 = o
014720/(2^7) = 115 = s

Vidite pattern. Email je vrlo domišljat: ‘posao@aduro.hr’, kojima ujedno šaljem i pozdrav ovim putem. Baš me zanima koliko će sad još molbi dobiti :zub:

EDIT: Ah, da ne zaboravim, code za dekodiranje:

Tomislav M. (Crais)

Pa zato i najbolje se ne javljati na oglase sa zadacima i utrpati ih u košaru smeću.
Ako netko nema 15 minuta za razgovor sa budučim zaposlenikom i vidjeti kako stvari stoje onda će ga i toliko cijeniti.
Što drugo za reći…

Bravo Crasis svaka cast. Ja ga nisam mogao nikako dekodirati.
A dobiveni mail je posao@mail.com isto kao i za junior developere ha, ha… :slight_smile:

@gorrc zanimljiv clanak o ovome o cemu govoris: EPH od kandidata za posao tražio da redizajniraju Gloriju | Zapošljavanje | REP.HR

[quote=“otporan”]
@gorrc zanimljiv clanak o ovome o cemu govoris: EPH od kandidata za posao tražio da redizajniraju Gloriju | Zapošljavanje | REP.HR[/quote]

To je priča za sebe a svugdje se izostavlja motiviranost pojedinca za obavljanje pojedinog posla.
Pretpostavlja se da jedini motiv plaća i sl.
Svi imamo motiv posao dobiti a dali smo ga motivirani obavljati.

Ima likova koji izvrsne reference/razgovor a onda na posao dolaze gledati koliko je sati…

Velikima je lako oni se postave ajd ti nama jedan svoj open source projekt, pa nam fino kaži što si tamo napravio.
Ili pokaži ti nama koliko tvoj rad utječe na zajednicu u tvojem poslu i sl.

Kapa dole majstore, svaka čast…:doki:

Bio je tu na forumu sličan slučaj, LINK. Dobro pogledaj thread, tko zna tko je sve radio logo, i na kraju jedan pobjedi i to sve za samo 400kn, ajde da je fer cijena za izradu loga ali 400kn…i to na takav način iskombinirat. Opet ponavljam, svaka čast pobjedniku jer je logo stvarno dobar ali uzmimo da je bilo 6-7 sličnih logotipa…kužiš spiku…

Da se odmah ogradim jer u threadu nisam ništa pisao niti se želim time zamarati, da nije bilo ovog članka ne bi se niti oglasio po tom pitanju. Ja sam isto tako predao logo i to par varijacija, nije neki značajni gubitak vremena ali 2h je 2h (svaka škola je dobra), da na kraju ne dobiješ niti “klašičan mail odjeb” je dno ljudske komunikacije i da je to krajnje ciganski, bome je.

PS
Zanimljivo, ovo mi je dalo ideju:
Napraviš firmu i objaviš natječaj, klasična navlakuša sa javnom objavom plaće, nikako ispod 10-12k. Onda ti se javi masa developera a ti svakom na mail pošalješ neki modul za izradit a 2-3 najboljih u drugom krugu pošalješ module da ih ukomponiraju u cjelinu. Na kraju imaš kompletan projekt za 0 kuna a jazavcima pošalješ odjeb na emajl, ili još bolje ne pošalješ ništa :stuck_out_tongue:

velkom tu kroejša

Ne znam koliko je pametno bilo stavljati… Mozda ce ti se javiti, mozda i dobijes posao pa naidu na ovo? :smiley:

Nisam ih vrijeđao niti inkriminirao shrug

[quote=“Uber_Gosu”]Bio je tu na forumu sličan slučaj, LINK. Dobro pogledaj thread, tko zna tko je sve radio logo, i na kraju jedan pobjedi i to sve za samo 400kn, ajde da je fer cijena za izradu loga ali 400kn…i to na takav način iskombinirat. Opet ponavljam, svaka čast pobjedniku jer je logo stvarno dobar ali uzmimo da je bilo 6-7 sličnih logotipa…kužiš spiku…

Da se odmah ogradim jer u threadu nisam ništa pisao niti se želim time zamarati, da nije bilo ovog članka ne bi se niti oglasio po tom pitanju. Ja sam isto tako predao logo i to par varijacija, nije neki značajni gubitak vremena ali 2h je 2h (svaka škola je dobra), da na kraju ne dobiješ niti “klašičan mail odjeb” je dno ljudske komunikacije i da je to krajnje ciganski, bome je.

PS
Zanimljivo, ovo mi je dalo ideju:
Napraviš firmu i objaviš natječaj, klasična navlakuša sa javnom objavom plaće, nikako ispod 10-12k. Onda ti se javi masa developera a ti svakom na mail pošalješ neki modul za izradit a 2-3 najboljih u drugom krugu pošalješ module da ih ukomponiraju u cjelinu. Na kraju imaš kompletan projekt za 0 kuna a jazavcima pošalješ odjeb na emajl, ili još bolje ne pošalješ ništa :stuck_out_tongue:

velkom tu kroejša[/quote]

Ma jos ako ti tako neka firma objavi natjecaj onda znas sto mozes ocekivat. Mala firma koja ni nema puno para pa svi znaju da ce dobit 500tinjak kn i uredu znas. A i otvoreno je zna se da ce samo jedan dobit natjecaj i da ovo nije bas neka prilika. Al nevjerovatno je sto se pocelo dogadati i na koji su nacin poslodavci poceli tretirat potencijalne kandidate. Tocno to sto kazes, totalno dno dna. Objave natjecaj, traze da im radis za free, i onda ne dobijes ni hvala. Koliko sam se samo puta javljao na natjecaje a da nisam ni odgovor dobio. Kao da je tesko slozit automatski mail da se zahvale sto si zainteresiran za njihovu tvrtku i zahvale se na interesu.

Trazio sam posao vani, i na srecu nasao pa vise nemam problema sa tim. Vani sam na 99% mailova dobio odgovor, i svaki put bi se zahvalili, rekli da im puno znaci sto sam uzeo vremena i naucio nesto o njihovoj tvrtci i poslu kojim se bave. Ali da trenutno ne traze remote workers i da ce me kontaktirati u slucaju da ce traziti. Stvarno normalan ljudski odnos. Nista cudno ljudi te pristojno odbiju ako nisu zainteresirani.

Sve je to zbog ove krize puno je ljudi nezaposleno. I sad nasi poslodavci (ne svi, cast iznimkama) imaju osjecaj da mogu raditi sto zele ocekivati sto zele ponasati se prema ljudima kao prema stoci itd…

Predvidam da ce za 2 godine biti jako jako jako malo web dizajnera / programera :slight_smile: I da ce biti veeelika potraznja za njima. Nece se vise nitko bavit ovime. Ucis godinama da bi te tretirali kao stoku i drzali na mizernim placam i jos budi sretan sto radis :slight_smile: Znam masu ljudi koja je odustala i bavi se totalno drugim poslovima, kazu ne isplati se.

A kod IT je još dobro zamisli samo kako se ponašaju u drugim zanimanjima.
Isto teško je u i ovoj državi biti poslodavac, no jeli to problem radnika ili države!?

Prije kojih pola godine poslao molbu na jedan posao. Javili mi da sam dobio posao da se javim oko dogovaranja uvijeta.
Nisam znao što bi trebao raditi samo mi rekli voditi će me američka firma, oni me odabrali, ali će nadzor ići kroz hrvatsku.
Vrijeme da se dogovorimo oko uvijeta.
3000kn netto jer nisam visoko obrazovan pa za 3-6 razgovor o povišici !?
Pitam lika jel da dignem kredit pa da idem kod njih raditi, pa da sam sebe subvencioniram što radim za njih!?.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja