Pengesahan ialah proses mengesahkan identiti seseorang untuk memastikan bahawa pengguna itu benar-benar mereka dakwa sebelum memberikan mereka akses kepada sistem. Adalah penting untuk mengesahkan pengguna untuk memastikan keselamatan dan integriti sistem. Dari masa ke masa, pengesahan telah berkembang menjadi kaedah yang lebih maju dan selamat.
Pada masa kini kaedah pengesahan terdiri daripada ID pengguna, kata laluan dan OTP kepada pengimbasan cap jari, pengimbasan ID muka dan banyak lagi. Pengesahan memastikan bahawa sumber sensitif tidak dikongsi dengan cara yang tidak dibenarkan, melindungi daripada serangan berniat jahat dan mematuhi peraturan privasi data. Secara keseluruhannya, ia memastikan CIA (Kerahsiaan, Integriti dan Ketersediaan) tiga kali ganda sistem.
Terdapat banyak kaedah untuk mengesahkan pengguna di Jawa seperti yang ditunjukkan di bawah −
Gunakan tali sahaja
Gunakan HashMaps
Gunakan kelas pengguna tersuai
Menggunakan antara muka
Kami akan melaksanakan kaedah ini sekarang.
Ini adalah pendekatan yang sangat mudah di mana 2 rentetan digunakan untuk menyimpan nama pengguna dan kata laluan sebenar, sah atau betul, dan 2 rentetan digunakan untuk menyimpan nama pengguna dan kata laluan yang dimasukkan oleh orang yang cuba mendapatkan akses. Selepas itu, kami hanya menggunakan kaedah .equals() java untuk membandingkan rentetan nama pengguna dan kata laluan. Jika kedua-duanya kembali benar, iaitu nama pengguna dan kata laluan kedua-duanya sepadan, kami akan mencetak "Pengesahan berjaya" pada konsol Jika mereka tidak sepadan, ini bermakna pengesahan gagal, jadi mesej yang sepadan dipaparkan.
public class UserAuthenticationDemo { public static void main(String[] args) { // hardcode the actual username and password String validUsername = "user123"; String validPassword = "password"; // username and password entered by user String username = "user123"; String password = "password"; // Compare the user entered credentials with the actual ones if (username.equals(validUsername) && password.equals(validPassword)) { System.out.println("Authentication successful!"); } else { System.out.println("Authentication failed."); } } }
Authentication successful!
HashMaps ialah struktur data pasangan nilai kunci, di mana kunci dan nilai boleh terdiri daripada sebarang jenis data. Kunci mestilah unik, cuba memasukkan semula pasangan nilai kunci dengan kunci yang sama akan menyebabkan entri asal ditimpa. HashMaps adalah sebahagian daripada pakej java.util. Pasangan nilai kunci boleh ditambah pada HashMap menggunakan kaedah .put(), manakala nilai boleh ditemui dengan kunci menggunakan kaedah .get() dan kaedah .containsKey() digunakan untuk menyemak sama ada kunci tertentu wujud dalam HashMap.
import java.util.HashMap; public class UserAuthenticationDemo { public static void main(String[] args) { // Create a HashMap to store valid username and password pairs HashMap<String, String> validUsers = new HashMap<>(); validUsers.put("user123", "password"); validUsers.put("admin", "admin123"); validUsers.put("superuser", "pAsSW0rd#"); //store the username and password entered by user String username="user123"; String password="password"; // Check if the entered username and password match the valid ones in the HashMap if (validUsers.containsKey(username) && validUsers.get(username).equals(password)) { System.out.println("Authentication successful!"); } else { System.out.println("Authentication failed."); } } }
Authentication successful!
Di Java, kelas ialah rangka tindakan yang mengandungi sifat dan kaedah asas, manakala objek ialah entiti dalam dunia sebenar.
Dalam contoh ini, kami akan mentakrifkan kelas yang mempunyai dua sifat, nama pengguna dan kata laluan, dan dua fungsi pengambil untuk mendapatkan nama pengguna dan kata laluan. Pembina kelas digunakan untuk menetapkan nilai nama pengguna dan kata laluan. Kami kemudian mencipta objek kelas ini dan menyimpan medan nama pengguna dan kata laluan, selepas itu kami menggunakan fungsi pengambil untuk mendapatkan nama pengguna dan kata laluan dan kemudian membandingkannya dengan kelayakan yang dimasukkan oleh pengguna menggunakan kaedah .equals().
public class UserAuthenticationDemo { static class User { private String username; private String password; public User(String username, String password) { this.username = username; this.password = password; } public String getUsername() { return username; } public String getPassword() { return password; } } public static void main(String[] args) { // Create a User object to store the valid username and password User validUser = new User("user123", "password"); //store the username and password entered by user String username="user123"; String password="password"; // Check if the entered username and password match the valid ones in the User object if (username.equals(validUser.getUsername()) && password.equals(validUser.getPassword())) { System.out.println("Authentication successful!"); } else { System.out.println("Authentication failed."); } } }
Authentication successful!
Antara muka ialah pelan tindakan untuk kelas yang membolehkan kami melaksanakan abstraksi. Abstraksi bermaksud menyembunyikan butiran pelaksanaan, sama seperti memandu kereta tanpa mengetahui kerja dalaman. Di sini, kami telah mencipta antara muka yang mengandungi kaedah pengesahan. Antara muka juga boleh dianggap sebagai satu set peraturan yang diikuti oleh kelas dan menyediakan kebolehgunaan semula kod.
// Interface for user authentication interface UserAuthenticator { boolean authenticate(String username, String password); } // Implementation of user authentication interface class SimpleUserAuthenticator implements UserAuthenticator { private String storedUsername = "myusername"; private String storedPassword = "mypassword"; @Override public boolean authenticate(String username, String password) { // Check if the provided credentials match the stored credentials if (username.equals(storedUsername) && password.equals(storedPassword)) { return true; } return false; } } // Main class to demonstrate user authentication public class UserAuthenticationDemo { public static void main(String[] args) { // Create an instance of the SimpleUserAuthenticator class UserAuthenticator authenticator = new SimpleUserAuthenticator(); //store the username and password entered by user String username="myusername"; String password="mypassword"; // Authenticate the user if (authenticator.authenticate(username, password)) { System.out.println("Authentication successful!"); } else { System.out.println("Authentication failed."); } } }
Authentication successful!
Pengesahan pengguna adalah sangat penting untuk memastikan kewujudan tiga elemen CIA (kerahsiaan, integriti dan ketersediaan). Tiada orang yang tidak dibenarkan untuk mengakses sebarang jenis maklumat atau data, itulah sebabnya pengesahan pengguna ditambah. Dari masa ke masa, pelbagai kaedah pengesahan seperti kata laluan sekali sahaja, ID log masuk dan kata laluan, biometrik dan lain-lain telah diterima pakai bergantung pada penggunaan. Kami melaksanakan pengesahan pengguna menggunakan Java, menggunakan nama pengguna dan kata laluan sebagai bukti kelayakan log masuk.
Atas ialah kandungan terperinci Program Java menunjukkan cara melaksanakan pengesahan pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!