sql >> Database >  >> RDS >> Mysql

Wat is zout in relatie tot MYSQL sha1?

Een salt is een waarde die wordt toegevoegd aan een wachtwoord (of ander geheim) dat u op een manier wilt hashen. Dit betekent dat het voor, na of ergens in het wachtwoord kan zijn, zolang de positie en waarde consistent zijn voor een bepaald opgegeven wachtwoord.

Wat dit doet, is dat het woordenboekaanvallen - in feite woordenboeken van gemeenschappelijke wachtwoorden die zonder zout vooraf zijn gehasht - worden gebruikt om een ​​eenrichtingswachtwoord te "raden" zolang de aanvaller de hash niet kent. Als elk wachtwoord een andere hash heeft, wordt het voor een aanvaller erg moeilijk om een ​​woordenboek te maken dat is geoptimaliseerd voor het kraken van uw wachtwoorden (ze zouden een woordenboek nodig hebben voor elk afzonderlijk zout en ze zouden ook moeten weten waar het zout in elk wachtwoord is geplaatst ).

Om dit allemaal van toepassing te laten zijn, moet een aanvaller natuurlijk in de eerste plaats de hashes van uw wachtwoorden hebben. Dit heeft niets te maken met het aanvallen van wachtwoorden door ze te raden via een invoerprompt.

Wat betreft MySQL, specifiek als je een salt opgeeft bij het hashen van een wachtwoord, zorg er dan voor dat je ergens noteert wat die salt was. Wanneer een gebruiker vervolgens authenticatie probeert, combineert u die geregistreerde zoutwaarde met het wachtwoord (tijdens de aanroep van crypt bijvoorbeeld) en als de resulterende hash overeenkomt, hebben ze het juiste wachtwoord ingevoerd. (Merk op dat het hashen van een wachtwoord op geen enkel moment wordt teruggedraaid, dus in één richting.)



  1. varbinary naar string op SQL Server

  2. hoe ziet een B-tree index op meer dan 1 kolom eruit?

  3. Geïndexeerde weergaven en statistieken

  4. Spotlight Cloud Basic:de beste gratis tool voor het bewaken van databaseprestaties