Validasi Password Django Framework Mengunakan Passlib

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Validasi Password Django Framework Mengunakan Passlib

Django adalah web framework Python yang didesain untuk membuat aplikasi web dinamis, kaya fitur dan aman.

Django dikembangkan oleh Django Software Foundation. Django terus mendapatkan perbaikan sehingga membuat web framework yang satu ini menjadi pilihan utama bagi banyak pengembang aplikasi web.

Dalam hal keamanan user django framework sudah cukup berpengalaman. Django berupaya untuk menyediakan seperangkat alat yang aman dan fleksibel untuk mengelola kata sandi pengguna.

Dokumen ini menjelaskan


  • bagaimana Django menyimpan kata sandi ?,

  • bagaimana hashing penyimpanan dapat dikonfigurasi ?,

  • dan beberapa utilitas untuk bekerja dengan kata sandi hash.


Django memilih algoritma yang digunakan dengan merujuk pada pengaturan PASSWORD_HASHERS.

PASSWORD_HASHERS adalah daftar kelas algoritma hashing yang didukung oleh instalasi Django.

Entri pertama dalam PASSWORD_HASHERS adalah settings.PASSWORD_HASHERS [0] yang digunakan untuk menyimpan kata sandi, dan semua entri lainnya.

Hashers yang valid dapat digunakan untuk memeriksa kata sandi yang ada.

Ini berarti bahwa jika Anda ingin menggunakan algoritma yang berbeda, Anda harus memodifikasi PASSWORD_HASHERS untuk mendaftarkan algoritma pilihan Anda terlebih dahulu.

Perhatikan kode di bawah ini:

PASSWORD_HASHERS = [
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
]

 

*** Pertanyaanya sekarang adalah bagaimana jika kita membuat sebuah microservice dengan framework flask dan kita ingin agar user saat login ke microservice tetap bisa menggunakan user password django ?

Solusinya, kita bisa menggunakan library passlib, bagaimana caranya ?.

Sebelum mengikuti tutorial ini pastikan bahwa kamu telah bekerja di mode environment.

A) Step pertama, install passlib dengan pip

pip install passlib

B) Step kedua, import passlib

from passlib.hash import django_pbkdf2_sha256

C) Step ke tiga, copy dari database password yang akan kita decode dan juga buat variable key hasher

hash = 'pbkdf2_sha256$36000$Gxab4u3ekwNT$nMmBLubOGZs9mcegH9fmFrBXPjS2NGG53glzPuRpTG4=' 

user_input = 'Testing1'


 
D) Step ke empat,

django_pbkdf2_sha256.verify(user_input, hash)

Jika semua sukses maka akan menghasil return true.

Selanjutnya bagaimana cara untuk meng-encode sebuah password, perhatikan kode lengkap di bawah ini :

from passlib.hash import django_pbkdf2_sha256 as handler
hash = 'pbkdf2_sha256$36000$Gxab4u3ekwNT$nMmBLubOGZs9mcegH9fmFrBXPjS2NGG53glzPuRpTG4='
user_input = 'Testing1'

#decode
decode_handler = handler.verify(user_input, hash)
print(decode_handler)

#necode
encode_handler = handler.hash("Testing1")
print(encode_handler)

E) Video Tutorial


Baca artikel lainya:


  1. Tutorial bassic Mysql bagian 1 - Create Read Update Delete

  2. Tutorial bassic Mysql bagian 2 - Inner, Left, Right, Cross Join

  3. Tutorial bassic Mysql bagian 3 - Filtering Data

  4. Tutorial bassic Mysql bagian 4 - Grouping Data 

  5. Tutorial bassic Mysql bagian 5 - Operator dan Clausa

  6. Tutorial bassic Mysql bagian 6 - Replace Statement

  7. Tutorial bassic Mysql bagian 7 - Constraint Data

  8. Tutorial bassic Mysql bagian 8 - Mengubah Struktur tabel

  9. Tutorial bassic Mysql bagian 9 - Subquery

  10. Membuat service OTP bagian 1 - OTP dan PIN

  11. Membuat service OTP bagian 2 - Sequence Diagram

  12. Membuat service OTP bagian 3 - Model dan Serializer

  13. Membuat  service OTP bagian 4 - Validate OTP

  14. Membuat  service OTP bagian 5 - Api Client Service

  15. Membuat service user login bagian 1 - Konfigurasi Database

  16. Membuat service user login bagian 2 - Serializer dan JWT

  17. Membuat CRUD service product bagian 1 - Models Product

  18. Membuat CRUD service product bagian 2 - Function Serializer

  19. Membuat CRUD service product bagian 3 - Api Client Service

  20. Membaut CRUD service product bagian 4 - Auth User

  21. Membuat CRUD service product bagian 5 - TDR File Log

  22. Membuat CRUD service product bagian 6 - Unit Test

  23. Membuat service user register bagian 1 - Django

  24. Membuat Service user register bagian 2 - Django

  25. Membuat service filter dan download file CSV di django

  26. Django upload file menggunakan FileSystemStorage

  27. Cara memfilter tipe data string pada golang dan python

  28. Mengubah format datetime pada bahasa python

  29. Mengolah data CSV dengan python pandas

  30. Sample join data CSV di python menggunakan pandas