Jadual Kandungan
1. Analisis Keperluan untuk Fungsi Cari Kata Laluan
2. Proses pelaksanaan fungsi mendapatkan kata laluan
1. Reka bentuk pangkalan data
2 Hantar pautan pengesahan
3. Penjanaan pautan pengesahan dan tetapan masa tamat tempoh
4. Pengesahan pautan pengesahan dan penetapan semula kata laluan
3. Ringkasan
Rumah Java javaTutorial Menggunakan Java untuk membina fungsi mendapatkan kata laluan sistem peperiksaan dalam talian

Menggunakan Java untuk membina fungsi mendapatkan kata laluan sistem peperiksaan dalam talian

Sep 24, 2023 pm 07:57 PM
java Pengambilan kata laluan Sistem peperiksaan dalam talian

Menggunakan Java untuk membina fungsi mendapatkan kata laluan sistem peperiksaan dalam talian

Java ialah bahasa pengaturcaraan berkuasa yang digunakan secara meluas dalam pelbagai bidang. Dalam pembangunan sistem peperiksaan dalam talian, fungsi mendapatkan kata laluan adalah sangat penting untuk pengguna, yang boleh membantu pengguna memulihkan kata laluan log masuk mereka dengan cepat. Artikel ini akan memperkenalkan cara menggunakan Java untuk membina fungsi mendapatkan kata laluan sistem peperiksaan dalam talian dan memberikan contoh kod khusus.

1. Analisis Keperluan untuk Fungsi Cari Kata Laluan

Fungsi mendapatkan kata laluan sistem peperiksaan dalam talian perlu memenuhi keperluan asas berikut:

  1. Pengguna boleh mendapatkan kata laluan melalui e-mel atau nombor telefon bimbit yang diberikan semasa pendaftaran.
  2. Sistem perlu mengesahkan identiti pengguna dan memastikan bahawa e-mel atau nombor telefon bimbit yang dimasukkan adalah konsisten dengan yang terikat semasa pendaftaran.
  3. Sistem menyediakan fungsi tetapan semula kata laluan selepas pengesahan berjaya, dan pengguna boleh menetapkan kata laluan log masuk baharu.
  4. Selepas kata laluan berjaya ditetapkan semula, pengguna boleh menerima mesej segera yang menunjukkan bahawa kata laluan telah berjaya ditetapkan semula.

2. Proses pelaksanaan fungsi mendapatkan kata laluan

Berikut akan mengambil sistem peperiksaan dalam talian berasaskan Java sebagai contoh untuk menunjukkan proses pelaksanaan khusus bagi fungsi mendapatkan kata laluan.

1. Reka bentuk pangkalan data

Pertama, anda perlu mereka bentuk pangkalan data untuk menyimpan maklumat pendaftaran pengguna dan maklumat pengesahan untuk mendapatkan kata laluan. Anda boleh mencipta jadual pengguna (pengguna) dan jadual pemulihan kata laluan (password_recovery). Jadual pengguna menyimpan maklumat asas pengguna dan jadual mendapatkan kata laluan menyimpan maklumat yang berkaitan dengan mendapatkan kata laluan pengguna, termasuk pautan pengesahan, masa tamat tempoh, dsb.

Medan jadual pengguna (pengguna) direka bentuk seperti berikut:

  • id (INT): ID pengguna
  • nama pengguna (VARCHAR): nama pengguna
  • e-mel (VARCHAR): e-mel
  • telefon (VARCHAR): nombor telefon mudah alih
  • kata laluan (VARCHAR): Log masuk kata laluan

Reka bentuk medan jadual pemulihan kata laluan (password_recovery) adalah seperti berikut:

  • id (INT): Dapatkan ID kata laluan
  • user_id (INT): ID Pengguna
  • (
  • )token : Pautan pengesahan (Jana rentetan rentetan rawak)
  • expire_time (DATETIME): Masa tamat tempoh

2 Hantar pautan pengesahan

Apabila pengguna perlu mendapatkan semula kata laluan mereka, sistem perlu menghantar pautan pengesahan ke pautan terlebih dahulu. e-mel atau telefon bimbit yang disediakan oleh pengguna semasa mendaftar Nombor. Di Java, anda boleh menggunakan API JavaMail untuk menghantar e-mel, atau antara muka SMS Java untuk menghantar mesej teks.

Yang berikut mengambil penghantaran e-mel sebagai contoh dan memberikan contoh kod khusus:

import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;

public class EmailUtil {
    public static void sendEmail(String toEmail, String subject, String content) throws MessagingException {
        final String username = "your_email@gmail.com"; // 你的邮箱地址
        final String password = "your_email_password"; // 你的邮箱密码

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");

        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(username));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail));
        message.setSubject(subject);
        message.setText(content);

        Transport.send(message);
        System.out.println("邮件已发送!");
    }
}
Salin selepas log masuk

Kod di atas ialah kelas alat untuk menghantar e-mel Anda perlu menetapkan alamat e-mel dan kata laluan anda sendiri. Panggil kaedah sendEmail EmailUtil dan masukkan alamat penerima, subjek e-mel dan kandungan e-mel untuk menghantar e-mel.

3. Penjanaan pautan pengesahan dan tetapan masa tamat tempoh

Apabila pengguna mengklik pautan pengesahan, sistem perlu mengesahkan sama ada pautan itu sah dan tamat tempoh. Untuk menjana pautan pengesahan, anda boleh menggunakan kelas UUID Java untuk menjana rentetan rawak yang unik, menyimpan rentetan pada jadual mendapatkan kata laluan dan menetapkan masa tamat tempoh kepada masa semasa ditambah tempoh sah pratetap, seperti satu hari.

Berikut ialah contoh kod:

import java.util.UUID;

public class TokenUtil {
    public static String generateToken() {
        return UUID.randomUUID().toString().replace("-", "");
    }
}
Salin selepas log masuk

Kod di atas ialah kelas alat penjanaan Token Panggil kaedah generateToken TokenUtil untuk menjana rentetan unik 32-bit.

Masa tamat tempoh boleh ditetapkan menggunakan kelas Tarikh dan kelas Kalendar Java:

import java.util.Date;
import java.util.Calendar;

public class ExpireTimeUtil {
    public static Date getExpireTime() {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, 1); // 指定过期时间为当前时间加上一天
        return calendar.getTime();
    }
}
Salin selepas log masuk

Kod di atas ialah kelas alat tetapan masa tamat Panggil kaedah getExpireTime ExpireTimeUtil untuk mendapatkan masa tamat tempoh yang menetapkan tempoh sah pratetap.

4. Pengesahan pautan pengesahan dan penetapan semula kata laluan

Apabila pengguna mengklik pautan pengesahan, sistem perlu mengesahkan kesahihan dan tamat tempoh pautan. Jika pengesahan lulus, pengguna dibenarkan untuk menetapkan semula kata laluan mereka.

Berikut ialah contoh kod:

import java.util.Date;

public class PasswordRecovery {
    public static boolean validateToken(String token) {
        // 通过token查询密码找回表,判断验证链接是否有效
        
        return false;
    }
    
    public static boolean isExpired(Date expireTime) {
        // 判断验证链接是否过期
        
        return false;
    }
    
    public static void resetPassword(String token, String newPassword) {
        // 通过token更新用户表中的密码
    }
}
Salin selepas log masuk

Kod di atas ialah kelas pengambilan kata laluan, di mana kaedah validateToken digunakan untuk mengesahkan kesahihan pautan pengesahan, kaedah isExpired digunakan untuk menentukan sama ada pautan pengesahan telah tamat tempoh , dan kaedah resetPassword digunakan untuk menetapkan semula kata laluan pengguna.

3. Ringkasan

Artikel ini memperkenalkan cara menggunakan Java untuk membina fungsi mendapatkan kata laluan sistem peperiksaan dalam talian, dan memberikan contoh kod khusus. Mengikut keperluan perniagaan tertentu, kaedah pelaksanaan kod boleh dilaraskan dan dikembangkan dengan sewajarnya. Proses pelaksanaan fungsi mendapatkan kata laluan agak rumit, tetapi melalui reka bentuk dan pelaksanaan kod yang munasabah, ia dapat memberikan pengalaman pengguna yang baik, membantu pengguna mendapatkan kata laluan dengan cepat, dan memastikan keselamatan sistem.

Atas ialah kandungan terperinci Menggunakan Java untuk membina fungsi mendapatkan kata laluan sistem peperiksaan dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nombor Sempurna di Jawa Nombor Sempurna di Jawa Aug 30, 2024 pm 04:28 PM

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Penjana Nombor Rawak di Jawa Penjana Nombor Rawak di Jawa Aug 30, 2024 pm 04:27 PM

Panduan untuk Penjana Nombor Rawak di Jawa. Di sini kita membincangkan Fungsi dalam Java dengan contoh dan dua Penjana berbeza dengan contoh lain.

Weka di Jawa Weka di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Nombor Smith di Jawa Nombor Smith di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Soalan Temuduga Java Spring Soalan Temuduga Java Spring Aug 30, 2024 pm 04:29 PM

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Program Java untuk mencari kelantangan kapsul Program Java untuk mencari kelantangan kapsul Feb 07, 2025 am 11:37 AM

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

See all articles