sql >> Databáze >  >> RDS >> Mysql

Metoda hašování hesla Mysql stará vs

Za určitých podmínek můžete stále být schopni nastavit a používat "nové heslo hashovacího algoritmu".
Servery MySQL 4.1+ jsou schopny zpracovat oba přihlašovací algoritmy. Které z nich se použije, je nezávislé na proměnné old-passwords. Pokud MySQL najde 41 znaků dlouhý hash začínající na *, použije nový systém. A funkce PASSWORD() je také schopna použít oba algoritmy. Pokud je pole mysql.user.Password dostatečně široké pro uložení 41 znaků a proměnná old-passwords je 0, vytvoří se "nové" heslo. dokumentace pro stará_hesla říká Variable Scope Both takže to možná budete moci změnit pro svou relaci.
Připojte se k serveru MySQL (s klientem, který to umí navzdory globálnímu old_passwords=1), např. HeidiSQL a zkuste následující:

SET SESSION old_passwords=0;
SELECT @@global.old_passwords,@@session.old_passwords, Length(PASSWORD('abc'));

Pokud vytiskne 1, 0, 41 (to znamená, že globální old_passwords je zapnutý, ale pro relaci je vypnutý a PASSWORD() vrátilo "nové" heslo), měli byste být schopni nastavit nové heslo pomocí nového algoritmu pro váš účet v rámci stejné relace.

Ale pokud dreamhost opravdu chce deaktivovat nový algoritmus hesel, pole mysql.user.Password bude mít méně než 41 znaků a nic vy může to udělat (kromě toho, že je otravuje).



  1. Spouštěč MySQL pro kontrolu hodnot před vložením vícekrát

  2. Chyba Postgres SSL SYSCALL:EOF detekován pomocí pythonu a psycopg

  3. Chyba převodu dat hromadného načtení (neshoda typu nebo neplatný znak pro zadanou kódovou stránku) pro řádek 1, sloupec 4 (rok)

  4. Rozdělit hodnoty do více řádků