< Java

Jelszóbekérés

Szerző: Sallai András

Copyright © Sallai András, 2014

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Egyszerű jelszóbekérés

import java.io.*; class Program { public static void main(String args[]) throws IOException { Console console = System.console(); char[] jelszo = console.readPassword("Jelszó: "); StringBuilder strb = new StringBuilder(); for(int i=0; i<jelszo.length;i++) strb.append(jelszo[i]); if(strb.toString().equals("titok")) System.out.println("Jelszó ok"); else System.out.println("Nem ok"); } }

Másik példa

/* Azonosítás */ import java.io.Console; class Program01 { public static void main(String args[]) { Console kon = System.console(); if(kon == null) { System.err.println("Nincs konzol"); System.exit(1); } String user = kon.readLine("Felhasználónév: "); char[] pass = kon.readPassword("Jelszó: "); if(user.equals("joska") && String.valueOf(pass).equals("titok")) { kon.format("Üdvözöllek %1$s nevű felhasználó!\n", user); Arrays.fill(pass, ' '); } else kon.printf("Rossz felhasználó vagy jelszó!\n"); } }

Swing grafikus felületen

Jelszó bekéréshez a javax.swing.JPasswordField komponenst fogjuk használni.

import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.JPasswordField; import javax.swing.JLabel; import java.awt.FlowLayout; class Program01 extends JFrame { JLabel userLabel = new JLabel("Felhasználó"); JLabel passLabel = new JLabel("Jelszó"); JTextField userField = new JTextField(10); JPasswordField passField = new JPasswordField(10); Program01() { setLayout(new FlowLayout()); add(userLabel); add(userField); add(passLabel); add(passField); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setVisible(true); } public static void main(String[]args) { new Program01(); } }

Linkek

http://docs.oracle.com/javase/tutorial/essential/io/cl.html

http://java.sun.com/developer/technicalArticles/Security/pwordmask/ (Csillagok megjelenítése)