PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apa cara yang disarankan untuk mengenkripsi kata sandi pengguna dalam database?

Jangan gunakan SHA1 atau SHA256 , seperti yang disarankan kebanyakan orang. Jelas jangan gunakan MD5 .

SHA1/256 dan MD5 keduanya dirancang untuk membuat checksum file dan string (dan tipe data lainnya, jika perlu). Karena itu, mereka dirancang untuk secepat mungkin, sehingga checksum cepat dibuat.

Kecepatan yang cepat ini membuat lebih mudah untuk memaksa sandi, karena program yang ditulis dengan baik dapat dengan mudah menghasilkan ribuan hash setiap detik.

Sebagai gantinya, gunakan algoritme lambat yang dirancang khusus untuk kata sandi. Mereka dirancang untuk menghasilkan sedikit lebih lama, dengan keuntungannya adalah serangan bruteforce menjadi jauh lebih sulit. Karena itu, kata sandi akan jauh lebih aman.

Anda tidak akan mengalami kerugian kinerja yang signifikan jika Anda hanya melihat mengenkripsi kata sandi satu per satu, yang merupakan implementasi normal dari penyimpanan dan pemeriksaan kata sandi. Hanya dalam jumlah besar di mana perbedaan sebenarnya.

Saya pribadi suka bcrypt. Seharusnya ada versi Perl yang tersedia, karena pencarian Google cepat menghasilkan beberapa kemungkinan kecocokan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memeriksa apakah ada baris dalam prosedur tersimpan PostgreSQL?

  2. PostgreSQL dan nodejs/pg, kembalikan JSON bersarang

  3. Postgres array json tanggal terbaru

  4. Batas kinerja solusi replikasi logis

  5. PostgreSQL:Bagaimana cara melewatkan parameter dari baris perintah?