Rumah >Java >javaTutorial >Bagaimanakah Java Regexp Berkesan Mengesahkan Kata Laluan Terhadap Dasar Tertentu?

Bagaimanakah Java Regexp Berkesan Mengesahkan Kata Laluan Terhadap Dasar Tertentu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 11:36:10584semak imbas

How Can a Java Regexp Effectively Validate Passwords Against a Specific Policy?

Pengesahan Kata Laluan di Java dengan Eksplorasi Semula Yang Dipertingkat

Dalam aplikasi Java, keperluan pengesahan kata laluan boleh dikuatkuasakan menggunakan ungkapan biasa (regex). Satu ungkapan sedemikian direka bentuk untuk memastikan pematuhan dengan dasar berikut:

  • Sekurang-kurangnya 8 aksara
  • Mengandungi sekurang-kurangnya satu digit
  • Mengandungi kedua-dua alfa bawah dan atas watak
  • Mengandungi watak istimewa (@#%$^& =)
  • Tidak termasuk aksara ruang kosong (ruang, tab, dsb.)

eksp semula awal yang dibuat ialah:

^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$

Walau bagaimanapun, ia tidak mempunyai keupayaan untuk menyemak aksara ruang kosong. Untuk menangani perkara ini, regexp yang diubah suai ialah:

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$

Penjelasan:

  • ^: Mula rentetan
  • (?=. *[0-9]): Sekurang-kurangnya satu digit
  • (?=.*[a-z]): Sekurang-kurangnya satu huruf kecil huruf
  • (?=.*[A-Z]): Sekurang-kurangnya satu huruf besar
  • (?=.*[@#$%^& =]): Sekurang-kurangnya satu aksara khas ( @#%$^& =)
  • (?=S $): Tiada aksara ruang putih
  • .: Mana-mana aksara
  • {8,}: Panjang minimum 8 aksara
  • $: Tamat rentetan

Rangkaian reg yang dipertingkatkan ini memastikan pematuhan kepada semua keperluan dasar kata laluan yang ditentukan, meningkatkan keselamatan kata laluan dalam aplikasi Java.

Atas ialah kandungan terperinci Bagaimanakah Java Regexp Berkesan Mengesahkan Kata Laluan Terhadap Dasar Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn