nogen der kan sige mig hvad en "MD5" er for noget?
MD5 er en såkaldt hashing algoritme. Det producerer et fast antal bytes (16 i tilfældet med MD5) ud fra et argument, som også er et antal bytes.
Det er nemt at beregne denne MD5 sum, men du kan ikke beregne argumentet, som producerede summen...kun ved at prøve dig frem.
Det bruges typisk til at verificere logins, så man ikke behøver at sende et ukrypteret password over nettet eller gemme et ukrypteret password i en database. Man beregner bare MD5 summen af passwordet og sammenligner så resultatet med det, som man har gemt, som er et hash af det rigtige password.
Tænk på tværsummen af et tal. Tværsummen af 45 er 9. Men givet tallet 9, kan du ikke finde ud af det oprindelige tal.
"salt" ANER jeg ikke hvad gør... men den er sat til at være ""
Salt bruges til at gøre det sværere at finde de oprindelige passwords, og konkateneres faktisk bare til det, som skal hashes. F.eks. et password.
MD5 summen af 'Hello, World!' er 65a8e27d8879283831b664bd8b7f0ad4. Hvis du får fat i denne sum fra min database, så kan du prøve dig frem, og på et eller andet tidspunkt kommer du frem til 'Hello, World!', eller du kan slå op i en såkaldt rainbow table, som indeholder summerne.
Men hvis jeg lige smider strengen 'ajfknnf3_qn*fa+læ9fHJg' foran, så får vi 'd9aaf7dd075124f52da23f6e6f13e481'. Hvis du kan trække denne ud af min database, så hjælper det dig ikke meget, for det vil tage meget længere tid at prøve sig frem (medmindre du også kender saltet).