Gå til innhold

trondes

Medlemmer
  • Innlegg

    460
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av trondes

  1. Nei, du missforsto litt her. Teksten som blir kjørt gjennom md5() bli ikke kuttet, men det du får tilbake er kuttet.

    5725091[/snapback]

    Det som kommer ut blir da overhode ikke kuttet det heller da. Hash-algoritmene returnerer x bit uavhengig av lengden på teksten inn. Det er liksom noe av poenget med hash.

    5725102[/snapback]

     

    Hehe.. men da har jeg jo lært noe i dag også da ;)

  2. tror dere har delvis misforstått hva tordnes mener. Altså forstill deg at du har en encryptor som heter ape og en som heter kake.

     

    Så encrypter du:

    ape("hello") = "jeg er en banan";

    ape("wohooa") = "jeg er en appelsin";

     

    de to stregnene som blir retunert av enkryptorene er forskjellige, men pga (som jeg forsto det) php sine begrensninger gir den bare ut et viss antall characters, dermed blir de enkryptede strengen kappet ned til "jeg er en ", og dermed er de krypterte og forkortede strengene av to forskjellige passord lik hverandre, altså de blir forkortet til dette:

    ape("hello") = "jeg er en ";              // king kong sin konto

    ape("wohooa") = "jeg er en ";          // donald sin konto

     

    ( går ut i fra at jeg er "trodnes" :)

     

    Nei, du missforsto litt her. Teksten som blir kjørt gjennom md5() bli ikke kuttet, men det du får tilbake er kuttet.

     

    En annen ting, jeg håper du virkelig sjekker passord mot brukeren og ikke bare om passordet stemmer med et hvilken som helst annen passord som er registert i systemet.

     

    Ha en fortsatt fin da

    g

  3. Nei hva veit du ... En streng i PHP kan være langt lengre enn 35 tegn, og det er en statistisk usannsynlighet at man får collision med de passordene de fleste vil bruke. Rettere sagt er sannsynligheten fraværende og overhode ikke verdt å tenke på.

     

    Edit:

    md5('abcdeabcdeabcdeabcdeabcdeabcdeabcde') = 306e85bcb6c9a12b22b440b2f0f991b1

    md5('abcdeabcdeabcdeabcdeabcdeabcdeabcdea') = a26a61771ce6a88e41d9fcad55bcbcf1

     

    Den første er på eksakt 35 tegn, den andre på 36. Som du ser er det en forskjell.

    5724425[/snapback]

     

    Hmm.. når jeg snakker om md5 strengen, mener jeg den du får tilbake, IKKE den du putter inn.. den som kommer ut er på 32 tegn ser det ut til. Samme hvor mye du putter inn.

     

    Dvs at du du har muligheten til å få tilbake samme md5 strengen på forskjellige ting du krypterer.

  4. Hva er tankegangen bak det her? At man skal gi angriper friheten til å velge mellom md5 og sha1?

     

    Hmm.. han tenke vel at du kan sjekke om passordet stemmer mot begge strengene. Slik at angriperen må finne et passord som passer til begge kryptering metodene. I grunn ganske lurt.

    5724314[/snapback]

    I grunn ganske dumt, siden man gjør noe tilsynelatende ubrukelig. Greia er at man skal beskytte seg mot bruteforce og da kommer man frem til passordet i klartekst. Da hjelper det svært lite med både md5 og sha1 hver for seg eller i kombinasjon. Eneste beskyttelsen man har er lange passord, og det er bokstavligtalt eneste. Ja, med mindre du vil bruke en steintung hash-algoritme da, men det gir fort problemer med ytelsen.

     

    Edit: Med lange passord mener jeg 8 eller flere tegn. Da vil det ta såpass med tid at ingen gidder med det første.

    5724337[/snapback]

     

    Ikke enig, hvis du kryptere en tekst med md5 blir kan den krypterte teksten bli flere 1000 tegn lang. ( selv om teksten bare er på noen tegn). Men i PHP får du bare ut de første 35 (?) tegnene. dvs at hvis du krypterer "Mittpassord" og "dittpassord" så kan du faktisk få samme md5 strengen tilbake. selv om den krypterte teksten ikke er lik.

     

    Men hvis du kontrollere passord mot sha1 og md5 vil det vel være nesten umulig å lure seg inn slik.

     

    Men hva vet vel jeg...

  5. Til nå har jeg bare brukt MySQL, men skal levere noe til en kunde der webhotelet bare støtter msSQL.

     

    Så vidt jeg har forstått blir de samme kommandoen brukt i begge databasene, dvs de grunnlegende. INSERT, UPDATE, SELECT osv.

     

    noe jeg bør tenke på når jeg konverterer scriptene ?

     

    bruker selfølgelig mssql_query i stede for mysql_query.

     

    Ser også at det ikke finnes noen mssql_error(), bruke mssql_get_last_message()?

×
×
  • Opprett ny...