Avatar billede NielsErikP Mester
09. juli 2011 - 12:59 Der er 17 kommentarer og
2 løsninger

Hjælp til oversæt "The Hash"????

Hej..
Kan en del engelsk, og prøver at lære at programmere i php/mySql.
Så er jeg inde på php.net flere gange stødt på et ord jeg ikke forstår "hash" google og andre oversættere vil kun oversætte det til "hash", bliver jeg jo ikke klogere af.
Eks. "returns the hash of a string".
Håber der er en "klog" der kan hjælpe, så jeg kan komme lidt videre i min indlæring af php.

På forhånd tak..!!
Avatar billede Slater Ekspert
09. juli 2011 - 13:10 #1
Et hash er en étvejskryptering af en streng. Dvs. uanset hvor lang strengen er, bliver den et vist antal bytes når den er krypteret. En lille ændring i input-strengen giver en stor forskel i den krypterede streng, men samme input-streng giver altid samme output.

Det bruges oftest til passwords, fordi man kan gemme et password som et hash, så man altid kan sammenligne med det oprindelige password igen, ved også at hashe det - men hvis nogen hacker serveren, kan de aldrig få det oprindelige password at vide, fordi et hash ikke kan dekrypteres.

Andre steder bruges til at verificere data i en fil eller streng, så man ved at den ikke er ændret, uden at skulle gemme hele filens/strengen.
Avatar billede NielsErikP Mester
09. juli 2011 - 13:59 #2
Hej..
Skal nok lige læse dit indlæg et par gange...  Men det jeg sad og prøvede at finde ud af var funktionen md5() på php.net.
Prøver at lave noget CAPTCHA.
Avatar billede arne_v Ekspert
09. juli 2011 - 15:48 #3
Avatar billede webweaver Praktikant
09. juli 2011 - 17:30 #4
Husk, at du ikke bør benytte dig af md5 alene længere, da der efterhånden findes nogle store rainbow tables. En rainbow table er en eller flere databaser frit tilgængelig på nettet, som indeholder værdien af et hash. Det vil sige, en måde, at se hvad hash'et indeholder. Og så er kodeordet jo pludselig ikke så skjult længere fx. Det er naturligvis ikke alle hashs' der findes derude, men en pæn del efterhånden.

Jeg vil derfor anbefale, at du kigger nærmere på sha funkionen istedet for md5 samt, at du læser lidt om "salted hash", hvilket du får brug for, hvis du vil sikre dig bedst muligt :)
Avatar billede NielsErikP Mester
09. juli 2011 - 22:19 #5
Hej..
puha...også det er en hel videnskab :-), bare sådan et enkelt ord man ikke forstår, som "hash". Ja..Det er squ ik let og være ny i branchen.

#4:
Den måde jeg ville bruge md5 på var sådan :



$string= md5(microtime() * mktime() );



for at skabe en tilfældig 32 karakter krypteret streng, så vil jeg med funktionen substr() forkorte strengen.

Men vil kigge lidt på SHA og "salted hash".
Avatar billede Slater Ekspert
09. juli 2011 - 22:39 #6
Til den brug du viser dér kan du sagtens nøjes med MD5-funktionen, for der skal du bare bruge en tilfældig streng, og input-strengen har ingen betydning og kan ikke slås op i en rainbow table.
Avatar billede NielsErikP Mester
09. juli 2011 - 22:48 #7
Hej..
Tak..viperine.
Nej... for der er jo ikke tale om passwords, krypteret meddelser, betalinger osv.. Hvor jeg går ud fra det er der problemerne opstår så??
Ideen med det var jo at undgå spam og andre robotter i min gæstebog.
Avatar billede Slater Ekspert
09. juli 2011 - 22:55 #8
Ja. Problemerne opstår så snart input-strengen kan være valgt af et menneske, f.eks. ved de ting du nævner, nemlig.
Hvis f.eks. du krypterer et password, så er der en mulighed for at en bruger vælger et almindeligt ord som password, f.eks. "fisk". Hvis en hacker så får adgang til databasen, kan han se hash'et stå som "23a8cadbee3c6d52a8bdc33aa962f5be", og derefter slå op i en rainbow table, at det hash svarer til ordet "fisk" - og så har han  brugerens password.

I dit tilfælde vil input-strengen aldrig være et rigtigt ord, og det gør ingenting hvis en hacker finder ud af input-strengen alligevel, da du ikke bruger den til noget.
Avatar billede NielsErikP Mester
09. juli 2011 - 23:10 #9
Hej..
Nej..okay!! DEt er jo fint nok så!!
Det jeg bruger min input streng til, er at indsætte den i et PNG images, og så til at tjekke på om brugeren har tastet netop den streng. Det var meningen da!!
Hvad så med Spam robotter, har de hacker tendenser :-)
Avatar billede webweaver Praktikant
10. juli 2011 - 00:45 #10
Nu har du jo ikke nævnt noget om, hvad brugen til det var .. Før nu i hvert fald. Det er rigtigt, hvis det bare er for at afhjælpe spambotter og lignende, er det ligegyldigt med salt og så videre. Men i det tilfælde behøver du så slet ikke bruge en krypteringsfunktion, da der findes nogle random funktioner i PHP der genererer en tilfældig string. Men du kan selvfølgelig godt bruge md5, hvis du ønsker det :)

Om spambotter har hacker tendenser. Hvordan mener du helt præcist? De er "smarte" nok ja. De hacker vel ikke ligefrem, men hvis du har din random string liggende synlig på hjemmesiden som tekst, hvor brugeren skal taste det ind i et input felt, så kan den højst sandsynligt godt regne det ud. Så du skal generere et billede i PHP, hvor du har din string ind over. Som jeg har det på min hjemmeside fx ... Så begynder de at få problemer med det :D
Avatar billede NielsErikP Mester
10. juli 2011 - 01:27 #11
Hej..
Nej.. Det havde jeg ikke nævnt noget om , men nu tog ordet "hash" sig jo også lidt omfangs rigt ud. Troede jo bare det drejede sig om en ordentligt oversættelse af ordet for at forstå sammenhængen.
Nå.. DEt er viperine der kommer ind på hackere i #8, og da jeg så skal bruge det til at forhondre spamrobotter til indlæg i min gæstebog, spurgte jeg lidt spøjst om spamrobotter har hacker tendenser. Jamen det jeg vil prøve er at oprette en tilfældig streng, så bruge images funktionerne i php til at oprette et images og sætte den tilfældige streng ind over det images inden det vises for brugeren. som så kan taste det viste. er images og det indtastede identisk,. postes brugerens besked.

Som altid en fornøjelse, når der kommer indlæg fra dig, webweaver.. ;-)

Tjekker lige din hj. side.
Avatar billede webweaver Praktikant
10. juli 2011 - 08:40 #12
Det lyder fornuftigt. Også sådan at det bør laves :)
Hvis du er interesseret, deler jeg gerne ud af mit antispam script (ikke at det er tophemmeligt og lignende ikke kan findes nettet, for kan det sikkert)

Men du lærer jo selvfølgelig mest som ny i "branchen" ved at prøve at lave det selv først. Så kan du jo altid evt. vende tilbage, hvis det driller :)

Jeg kan også godt udlevere scriptet til dig som inspiration, hvis du ønsker det.

Fortsat god weekend :o)
Avatar billede NielsErikP Mester
10. juli 2011 - 23:02 #13
Hej..
Jamen så er jeg jo ik helt ved siden af med, hvad jeg havde tænkt mig.
Ej...Tusind tak, det var godt nok noget af et pænt tilbud, Webweaver!! Men vil nu egentligt gerne lige selv prøve først og som du siger det lærer man jo nok mest ved. Men håber da det er okay, hvis jeg evt. tager dig op på tilbudet ved en senere lejlighed...??
Selv god weekend!!!

Tre jeg beder om at lægge svar  :
Viperine
Arne_V
Webweaver...

Det kan jo lige give 4 point til hver ;-) ;-)
Avatar billede webweaver Praktikant
10. juli 2011 - 23:47 #14
Det er selvfølgelig helt okay. Det kan du bare gøre :-)
Avatar billede NielsErikP Mester
11. juli 2011 - 00:00 #15
Hej..
Det lyder bare godt :-)
Venter lige og ser om de andre vil dele med dig!!
Avatar billede Slater Ekspert
11. juli 2011 - 00:34 #16
Held og lykke med det.
Avatar billede NielsErikP Mester
11. juli 2011 - 00:50 #17
Hej..

Tak, tak... Så mangler vi kun Arne_V!!
Avatar billede NielsErikP Mester
11. juli 2011 - 20:44 #18
Hej..
Nu kan vi ikke vente længere..
Her er jeres point i to og tak for hjælpen.
Avatar billede webweaver Praktikant
11. juli 2011 - 21:05 #19
Tak for det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester