用Java写一个登陆程序,登陆完后跳转到主界面,密码用哈希加密

Answered using GPT 4o by ChatGPT4o.im

Question:
用Java写一个登陆程序,登陆完后跳转到主界面,密码用哈希加密
Answer:

你好,以下是一个简单的Java登陆程序示例,其中使用MD5进行密码的哈希加密:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;

public class LoginProgram {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入用户名:");
        String username = scanner.nextLine();

        System.out.println("请输入密码:");
        String password = scanner.nextLine();

        String hashedPassword = hashPassword(password);

        if (authenticateUser(username, hashedPassword)) {
            System.out.println("登陆成功,跳转到主界面。");
            // 在这里添加跳转到主界面的逻辑
        } else {
            System.out.println("登陆失败,用户名或密码错误。");
        }
    }

    private static String hashPassword(String password) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(password.getBytes());
            byte[] bytes = md.digest();

            StringBuilder sb = new StringBuilder();
            for (byte aByte : bytes) {
                sb.append(Integer.toString((aByte & 0xff) + 0x100, 16).substring(1));
            }

            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }
    }

    private static boolean authenticateUser(String username, String password) {
        // 在这里实现用户认证逻辑
        // 这里需要根据实际情况连接数据库或其他存储来比对用户名和密码是否匹配
        return true; // 在这里暂时假设都是正确的,实际需根据实际逻辑具体判断
    }
}

在示例中,用户输入用户名和密码,密码会被哈希加密后进行验证,验证通过后会提示登陆成功并跳转到主界面。你可以根据自己的实际需求修改和完善这个程序。