Forskjellen på HASH og KRYPTERING

Dette blir nevnt over alt, men kan ikke presiseres nok. Det er enda mennesker som går i rundt og absolutt vil kalle hashing for kryptering. Men nei, gutter og jenter, å hashe en streng vil ikke si at streng blir kryptert. Selv om du får et helt absurd resultat vil det ikke si at den er kryptert.

Det finnes flere forskjellig hash metoder som vi bruker i PHP, men de to som blir brukt mest er md5 og sha1. Forskjellen på disse er hovedsakelig bits. Sha1-hash har 40 bits, og md5 har 32. Md5 vil derfor være mer usikker enn sha1, men det vil ikke si at sha1 er sikkert. Det sies at sha1 er teoretisk usikkert, mens md5 er praktisk usikkert.

Men ok, la oss komme tilbake mer på poenget. Du har nå fått vite hva vi som regel bruker til å hashe en streng. (Når det kommer til kryptering kan du bruke funksjoner som crypt().) Men hva er egentlig forskjellen på en streng som er hashet og en streng som er kryptert?

Hovedsakelig så er det ganske enkelt. En kryptert streng kan du dekryptere, og få tilbake til original stand, men det er det ingen mulighet for på hash. Det finnes ingen dehash-funksjon på samme grad som det finnes decrypt. Men ok, du kan brute-force, sjekke i hash-lager osv.

Gjort enklere, presisert

Så la meg presisere det én siste gang. Kryptert streng kan dekrypteres, en hashet streng kan ikke. Derfor: Kryptering er ikke det samme som hashing!

Ikke kryptering, men hash:

  • sha1 ()
  • md5 ()

7 responser om “Forskjellen på HASH og KRYPTERING”

  1. Funksjonene for generering av hash-verdier i PHP er dessuten ikke bare offer for mange misbeskrivelser m.t.p. ordvalg, men også manglende forståelse for hva som skjer i bakgrunnen. Hvor mange ganger har man ikke lest utsagnet om at sha1(sha1(sha1($value))) er tryggere enn sha1(sha1($value)), f.eks.?


  2. HELLo!

    Eller min favoritt:
    sha1 (crc32 (md5 ($password)));

    Så et lite addendum til artikkelen: Bestandig bruk et salt i lag med verdien som hashes, ellers blir det enkelt å finne ut hva passordet er med å sjekke om mot en hash-table (rainbow tables).

    Happy codin’!


  3. Jepp, tenkte jeg skulle nevne det med salting, men det gikk litt utenfor temaet. Ikke at jeg holder meg til det uansett, men.

    Når det gjelder kvadrupelbruk av hashing, er det mulig jeg kan skrive om det en annen gang. Om det irriterer meg nok på forum. ;-)


  4. Hva er da vits med kryptering? Når det kan dekrypteres på 2 sekunder?

    1. <?php
    2. echo \"Ukryptert:\" . decrypt($string);
    3. ?>


  5. Det kan brukes til å sjule tekst for andre. Du kan lage din egen krypterings algorytme. Så du kan kryptere, og valgte folk kan dekryptere med algorytmen som du har lagd.

    PHPs crypt går på en algorytme.


  6. Mats Danielsen skrev:

    Hva er da vits med kryptering? Når det kan dekrypteres på 2 sekunder?

    1. </p>
    2. <p>

    Mulig jeg er dum, men det er da ingen funksjon som heter decrypt?


  7. Nei, det finnes ingen decryp () funksjon nativt i PHP, siden crypt er basert på en enveis algorytme. Så du er nok ikke dum.


Legg igjen respons

Fyll ut alle felt markert med *

Brukerinformasjon
  1. Kan bruke følgende html: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> og [html] [css], [mysql] og [php] Hold posten ren og fin!

    Siter valgt tekst

E-post-varsel uten å skrive kommentar.

Info om posten

Innlegget ble postet 19.07.07 04:21 og ligger under kategorien PHP / MySQL. Du kan abonnere på kommentarene ved å bruke RSS 2.0 feed. Du kan legge til kommenter, eller trackback fra din blogg/side.

Resurser

Arkiver

Metainfo


Søkeform

Relaterte linker

Diverse

  • twofifty.org

Siste Flickr-bilder

  • Commentsystem (20070308)
  • Ukraina Aksjonen 2006 (20070306)
  • Mikael Brevik blogg (20070306)
  • Mikael Brevik (20070306)
  • Brukerdefinert side - AVIS2 (20070306)
  • Brevik Webutvikling (20070306)
  • skyscraper
  • visittkort