Salt og #hashDet kan være uhensigtsmæssigt og usikkert at have passwords liggende åbne i en database. Salt og Hash er to metoder, der kan anvendes til at prøve sig frem til / læse. Princippet i dem begge to er, at der sker en kodemæssig bearbejdning af det password brugeren kender i forløbet mellem at passwordet tilgår PHP og det gemmes i databasen eller bruges til sammenligning. Det er den samme bearbejdning der foretages i begge situationer og de sædvanlige passwordprincipper kan derfor stadig anvendes. Benytter man Salt og Hash skal den samme kode indsættes de relevante steder i programmerne til login, oprettelse og rettelse af brugerstamdata. SaltTil det password brugeren kender tilføjes der ved konkatenering en tekststreng - altid den samme. Det resulterende password vil derved blive længere. Passwordet forbliver i 'klart sprog' og skal efterfølgende HASHes. Ved at gøre passwordet længere opnår man, at den hashede datastreng bliver mere kompleks og dermed vanskeligere / mere usandsynlig at "dekode" (manuelt eller systematisk).
HashVed hashing foretages en egentlig kryptering af passwordet. Der findes ganske mange algoritmer, der kan anvendes til hashing. De mest almindelige synes at være 'md5' og 'sha1'. Md5 resulterer i en streng, der altid er 32 kar. lang. Med sha1 bliver den 40 kar. (Sha256 leverer til sammenligning en streng på ca. 100 kar.) Hashede datastrenge består altid af hexa-cifrene 0-9 og A-F.
Salt + HashBegge principper kan kombineres i en arbejdsgang
De kan også sammensættes med andre metodestrenge. HvorDen samme Salt+hash-kode indsættes i login-programmer og i de programmer, der vedligeholder password: LoginIndsættes lige før opkald til database.
INSERT og UPDATE.Indsættes lige før opdatering af database.
OBSDet er væsentligt, at koderne bliver koblet til begge steder samtidig. Man skal være logget på før tilkoblingen, og foretage de nødvendige test på en anden bruger, end den der udfører ibrugtagningen. Alternativet kan være, at man lukker sig selv ude. |