Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / December 2006

Tip: Looking for answers? Try searching our database.

I need help urgently.

Thread view: 
Abs - 03 Dec 2006 10:04 GMT
Guys, i need a way so that i can mask the password on my program. I
want the password to appear as **** or something like that. I cant use
applets, awt or any other thing beyond our ICSE Std X syllabus. Threads
would be OK i guess  but pls try avoiding it. Plz help
Andrew Thompson - 03 Dec 2006 10:34 GMT
Sub: I need help urgently.

Hire a consultant.

> Guys, i need a way so that i can mask the password on my program. I
> want the password to appear as **** or something like that.

Use a JPasswordField.

>...I cant use
> applets, awt or any other thing beyond our ICSE Std X syllabus.

The 'standard way' to pass an exam is to study for it,
rather than come to usenet and ask for 'codes'.

>...Threads
> would be OK i guess  but pls try avoiding it.

Sure thing.

Andrew T.
Simon Brooke - 03 Dec 2006 10:48 GMT
> Guys, i need a way so that i can mask the password on my program. I
> want the password to appear as **** or something like that. I cant use
> applets, awt or any other thing beyond our ICSE Std X syllabus. Threads
> would be OK i guess  but pls try avoiding it. Plz help

How the **** are we supposed to know what's in your syllabus? And you'd get
better help if you put something useful in the subject line.

If you're writing a console app, read a character from the input stream and
print an asterisk to the output stream; repeat until you get an end of
line character. Something like (untested):

public String getPassword( InputStream in, OutputStream out, String prompt)
{
       StringBuffer passBuff = new StringBuffer();
       boolean done = false;

       out.print( prompt);

       while ( ! done)
       {
               int c = in.read();

               switch ( c)
               {
                       case -1: /* EOF */
                       case '\n':
                       case '\r':
                       /* and any other characters you see as terminating */
                               out.println();
                               done = true;
                               break;
                       default:
                               passBuff.append( ( char)c);
                               out.print( '*');
                               break;
               }
       }

       return passBuff.toString();
}

The while loop here may lose you marks for style; you should probably
recode it as a for loop. I used while primarily to make it clearer.

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

       Q: Whats a webmaster?
       A: Like a spider, but nowhere near as intelligent.

Oliver Wong - 04 Dec 2006 22:03 GMT
>> Guys, i need a way so that i can mask the password on my program. I
>> want the password to appear as **** or something like that.

[...]

> If you're writing a console app, read a character from the input stream
> and
> print an asterisk to the output stream; repeat until you get an end of
> line character.

   I think to be able to usefully fulfill the requirements in a console
app, you'd need someway of disabling the echoing of input. AFAIK, Java
doesn't provide any mechanism for doing this. So for a console app, my
recommendation would be "Don't use Java" for this particular problem.

   - Oliver
Mark Jeffcoat - 04 Dec 2006 23:49 GMT
>>> Guys, i need a way so that i can mask the password on my program. I
>>> want the password to appear as **** or something like that.
[quoted text clipped - 10 lines]
> doesn't provide any mechanism for doing this. So for a console app, my
> recommendation would be "Don't use Java" for this particular problem.

It looks like Java 1.6 supports this, in java.io.Console.

 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4050435

has related discussion, and some pointers to third-party packages
implementing various JNI attacks on the problem.

Signature

Mark Jeffcoat
Austin, TX

Gordon Beaton - 05 Dec 2006 07:14 GMT
> Guys, i need a way so that i can mask the password on my program. I
> want the password to appear as **** or something like that. I cant use
> applets, awt or any other thing beyond our ICSE Std X syllabus. Threads
> would be OK i guess  but pls try avoiding it. Plz help

In a text console on any unix-like platform (you didn't specify
yours), you can do this to prevent the input from being displayed
while the password is entered:

http://groups.google.com/group/comp.lang.java.programmer/msg/a132c7feda18187a

If you want to display asterisks, you need to set "-icanon min 1" to
get character-at-a-time input, and do System.out.print("*") for each
character as it's typed.

/gordon

Signature

[ don't email me support questions or followups ]
g o r d o n  +  n e w s  @  b a l d e r 1 3 . s e



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.