Hvordan fungerer MySQL-passordhashing?

MySQL bruker kryptografisk hashing for å lagre brukerpassord på en sikker måte. I stedet for å lagre passord i klartekst, konverterer MySQL dem til faste hash‑strenger ved hjelp av én‑veis matematiske funksjoner. Når en bruker prøver å logge inn, hasher MySQL det oppgitte passordet og sammenligner det med den lagrede hashen. Hvis de stemmer overens, lykkes autentiseringen. Denne tilnærmingen sikrer at selv om noen får tilgang til databasen, kan de ikke lese brukerpassordene direkte.

Den moderne MySQL Native Password‑algoritmen bruker SHA‑1‑hashing to ganger: SHA1(SHA1(password)). Denne dobbelthashingen gir et ekstra sikkerhetslag. Den resulterende 40‑tegns heksadesimale strengen prefikset med en stjerne (*) indikerer at det er et hash‑passord, og gir verdier som *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19.

Verktøysbeskrivelse

Dette MySQL Password Hash Generator lager autentiserings‑hasher som er kompatible med MySQL‑ og MariaDB‑databaser. Skriv inn et hvilket som helst passord, så genereres den tilsvarende hashen umiddelbart, klar til bruk i SQL‑setninger som CREATE USER eller ALTER USER. Verktøyet støtter både det moderne MySQL Native Password‑formatet (MySQL 4.1 og nyere) og det eldre Old Password‑formatet for eldre systemer.

Eksempler

MySQL Native Password (4.1+):

  • Input: mypassword
  • Output: *FABE5482D5AADF36D028AC443D117BE1180B9725

Old Password (Pre-4.1):

  • Input: mypassword
  • Output: 162eebfb6477e5d3

SQL‑bruk:

-- Opprett bruker med hash‑passord
CREATE USER 'username'@'localhost' IDENTIFIED BY PASSWORD '*FABE5482D5AADF36D028AC443D117BE1180B9725';

-- Oppdater eksisterende brukers passord
ALTER USER 'username'@'localhost' IDENTIFIED BY PASSWORD '*FABE5482D5AADF36D028AC443D117BE1180B9725';

Funksjoner

  • MySQL Native Password: Genererer SHA1(SHA1(password))-hasher for MySQL 4.1+ og MariaDB
  • Legacy Old Password: Støtter pre‑MySQL 4.1‑hash‑format for bakoverkompatibilitet
  • Hashing i sanntid: Hash‑verdien oppdateres umiddelbart mens du skriver
  • Vis/skjul passord: Vis eller skjul passordfeltet for enklere inntasting
  • Kopier med ett klikk: Kopier den genererte hashen raskt til utklippstavlen

Bruksområder

  • Opprette MySQL‑brukerkontoer med forhåndshash‑passord i distribusjonsskript
  • Migrere brukere mellom MySQL‑databaser samtidig som passord‑hasher bevares
  • Teste og validere MySQL‑autentiserings‑konfigurasjoner
  • Generere passord‑hasher for MySQL‑kompatible applikasjoner
  • Feilsøke autentiseringsproblemer ved å sammenligne forventede og faktiske hash‑verdier

Støttede hash‑formater

Format Algoritme MySQL‑versjon Eksempel på output
MySQL Native Password SHA1(SHA1(password)) 4.1+ *2470C0C06DEE42FD...
Old Password Tilpasset hash Pre-4.1 6f8c114b58f2ce9e

Sikkerhetsbetraktninger

MySQL Native Password‑hashen er det anbefalte formatet for alle moderne MySQL‑ og MariaDB‑installasjoner. Old Password‑formatet anses som usikkert og bør kun brukes for kompatibilitet med eldre systemer som ikke kan oppgraderes. MySQL 8.0 introduserte caching_sha2_password som ny standard, men mysql_native_password forblir bredt støttet og mye brukt.