Enkla lösenord System (1 / 6 steg)
Steg 1: Salter och hash
Kan pausa snabbt för att förklara varför detta system fungerar om webbplatsen du loggar in gör saker rätt. Du kanske redan vet det här. I så fall gärna hoppa över detta steg. Om du fortfarande förvirrad på titeln av detta steg, ska du göra dig själv en stor tjänst om du läser igenom detta steg och få en grundläggande förståelse för vad som pågår bakom kulisserna på en webbplats.
När du skapar ett lösenord med en webbplats, bör det inte lagras i klartext. Det fanns en skäligen ansedda webbplats som fick hacka ett par år tillbaka. Hackarna fick alla lösenord som människor används för att logga in på webbplatsen eftersom lösenorden förvarades i oformaterad text.
Hur ska de förvara den lösenord de får? De bör vara saltade och hashed. Låt oss förklara hash först.
Hash-
Detta är en numerisk operation som tillämpas på ett lösenord. Det visar en textlösenord till en sträng med siffror.
Till exempel: MyVoiceIsMyPassword
Under en hash som kallas "md5" blir: 7be7c47db5818d392367c183e6f4a8f3
Så länge jag konvertera alla mina inkommande lösenord till en md5-hash och bara lagra hashen, blir det mycket svårare för skurkarna använda lösenord de stöld. Om du skulle bryta sig in i min hemsida just nu och tittar på den hash, är det mycket svårt att omvandla det tillbaka till den ursprungliga texten.
Men varje gång jag loggar in och skriver "MyVoiceIsMyPassword" det blir förvandlas till "7be7c47db5818d392367c183e6f4a8f3" varje gång. Att hash inte ändras. Så när datorn går och kontrollerar om du angett rätt lösenord, det kan konvertera mitt lösenord till en hash och det kommer att matcha hashen lagras i databasen.
Kan du berätta om en webbplats hash-ditt lösenord? Nope. Tyvärr kan du inte, men det är viktigt att förstå varför detta lösenord system fungerar.
Saltning
Förutom hashing inkommande lösenord, bör de också saltas. Ett salt är en textsträng som läggs till alla inkommande lösenord. Om säga Instructables beslutat att göra ett salt av "1n57ruc7ab135" (vilket skulle vara en inte särskilt bra idé, det bör vara mer slumpmässigt) Detta är hur det skulle se ut.
Till exempel: MyVoiceIsMyPassword med en hash av 7be7c47db5818d392367c183e6f4a8f3
När saltade blir: 1n57ruc7ab135MyVoiceIsMyPassword med en hash av 731408efd06313fe205ee18fe253a5ee
Kontrollsummor är inte samma. Men varför spelar det någon roll?!? Du kan fråga, och det är en bra fråga. Det beror på om varje hemsida där ute har en unik salt, det blivit orimligt svårt att använda en hash som stulits från en webbplats att komma åt ett hash-värde på en annan webbplats.
Kan du berätta om en webbplats saltning sina lösenord? Nope. Även är detta bara viktigt för att förstå systemet som presenteras.