Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Saisie sans écho

1 réponse
Avatar
Pierre
Salut,

Je suis en train d'écrire une application (mode console) dans laquelle
un mot de passe est demande. Comment puis je faire pour que quand
l'utilisateur tape son mot de passe rien n'apparaisse ??
Merci

1 réponse

Avatar
MacTotoche
Pierre wrote:
Comment puis je faire pour que quand
l'utilisateur tape son mot de passe rien n'apparaisse ??
Hello,

des pistes sur :
http://java.sun.com/features/2002/09/pword_mask.html
(sauter la partie sur Swing dont tu ne veux pas)

Les solutions purement java évoquées sont des gros kludges. A tester.

JNI (interfaçage avec des progs natifs de l'hote) c'est quand même pas
si commode que ça.

Une alternative à JNI, mais non purement java et donc mal portable,
serait de faire un petit prog lirepw.c qui lit le clavier directement
(hors flux, ou alors mettre echo off) et ecrit sur stdout la chaine
des caractères frappés.

Après, on le lance par
Process proc = Runtime.getRuntime().exec("lirepw");
dont on récupère *l'entrée* (du point de vue java : c'est toujours
galère cette convention) et on lit le password.

On peut aussi remplacer le C par un petit script Bourne shell comme
celui donné à "§ Ask for a password" de
http://billharlan.com/pub/papers/Bourne_shell_idioms.html

--
Olivier
This space for sale.