Oracle
 sql >> база данни >  >> RDS >> Oracle

създаване на поле за парола в oracle

Един метод без използване на „Защитеното външно хранилище на пароли“ (каквото и да е то) е да добавите колона RAW(16) към таблицата за съхраняване на хеширани потребителско име и парола:

alter table mytable add password raw(16);

След това запазете хешираните потребителско име и парола в него по следния начин:

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

След това, когато потребител се опита да влезе с потребителско име и парола, можете да ги проверите по следния начин:

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

По този начин никой не може да разбере каква е съхранената парола (освен чрез груба сила).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Справяне с грешката в Drop Column в Oracle 18c и 19c

  2. Codeigniter Oracle PDO-oci

  3. Конвертиране на редове в колони oracle SQL

  4. Регистрирайте съобщения за грешка в съхранената процедура на Oracle

  5. Настройка на производителността на SQL за Oracle много ИЛИ срещу IN ()