sql >> Databáze >  >> RDS >> Oracle

vytvoření pole hesla v oracle

Jednou z metod bez použití "The Secure External Password Store" (ať už to může být cokoliv) je přidat do tabulky sloupec RAW(16) pro uložení hashovaného uživatelského jména a hesla:

alter table mytable add password raw(16);

Poté do něj uložte hashované uživatelské jméno a heslo takto:

insert into mytable (username, password, ...)
values (:username, dbms_obfuscation_toolkit.md5 
                      (input => utl_i18n.string_to_raw
                                  (upper(:username)||:password))
       );

Když se pak uživatel pokusí přihlásit pomocí uživatelského jména a hesla, můžete je zkontrolovat takto:

select 'OK'
from   mytable
where  username = :username
and    password = dbms_obfuscation_toolkit.md5 
                      (input => utl_i18n.string_to_raw
                                  (upper(:username)||:password));

Tímto způsobem nikdo nemůže zjistit, jaké je uložené heslo (jinak než hrubou silou).



  1. oracle jak transponovat sloupce do řádků bez UNION

  2. Jarní změna relace JdbcTemplate

  3. Docker čeká na spuštění postgresql

  4. Problém s přetrváváním java.util.Date do MySql pomocí Hibernate