Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

membuat bidang kata sandi di oracle

Salah satu metode tanpa menggunakan "Penyimpanan Kata Sandi Eksternal Aman" (apa pun itu) adalah menambahkan kolom RAW(16) ke tabel untuk menyimpan nama pengguna dan kata sandi yang di-hash:

alter table mytable add password raw(16);

Kemudian simpan username dan password hash di dalamnya seperti ini:

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

Kemudian ketika pengguna mencoba masuk dengan nama pengguna dan kata sandi, Anda dapat memeriksanya seperti ini:

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

Dengan cara ini tidak ada yang bisa mengetahui apa kata sandi yang disimpan (selain dengan kekerasan).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Baca Dan Impor File CSV Di Oracle PL/SQL Secara Efisien

  2. Lewati SELECT STATEMENT sebagai parameter IN ke prosedur dan jalankan di Oracle

  3. Sinonim Publik vs. skema. pola objek

  4. Perbedaan nilai CSV menggunakan REGEXP_REPLACE di Oracle

  5. apakah klaim Oracle sulit untuk dikelola pada tugas-tugas sederhana yang benar? tidak ada aplikasi admin berkualitas untuk itu?