Password Echo

Anyone know of a way, aside from Ruby/Password, of suppressing echo
for a password prompt on a terminal? I'm interested in *nix
primarily.

Thanks,
Marc

curses comes to mind (Curses.noecho() would suppress the echoing of the
text)

···

-----Original Message-----
From: Marc Soda [mailto:marcantoniosr@gmail.com]
Sent: Tuesday, May 08, 2007 9:47 PM
To: ruby-talk ML
Subject: Password Echo

Anyone know of a way, aside from Ruby/Password, of
suppressing echo for a password prompt on a terminal? I'm
interested in *nix primarily.

Anyone know of a way, aside from Ruby/Password, of suppressing echo
for a password prompt on a terminal? I'm interested in *nix
primarily.

HighLine can take care of this for you.

    > cat password.rb
    require "rubygems"
    require "highline/import"

    pass = ask("Enter your password: ") { |q| q.echo = '*' }
    puts "Your password is `#{pass}'!"

    > ruby password.rb
    Enter your password: ********************************************
    Your password is `This is how you do a password prompt in ruby'!

If you set q.echo = false then you will have nothing echoed on the
terminal.

If you want to roll your own on *nix boxes, you'll need to become
familiar with stty(1).

enjoy,

-jeremy

···

On Wed, May 09, 2007 at 11:46:35AM +0900, Marc Soda wrote:

--

Jeremy Hinegardner jeremy@hinegardner.org

ruby-termios

···

On Wed, May 09, 2007 at 11:46:35AM +0900, Marc Soda wrote:

Anyone know of a way, aside from Ruby/Password, of suppressing echo
for a password prompt on a terminal? I'm interested in *nix
primarily.

It's trivial with HighLine.

-- fxn

···

On May 9, 2007, at 4:46 AM, Marc Soda wrote:

Anyone know of a way, aside from Ruby/Password, of suppressing echo
for a password prompt on a terminal? I'm interested in *nix
primarily.

From the command line?

stty -echo

···

On 5/9/07, Marc Soda <marcantoniosr@gmail.com> wrote:

Anyone know of a way, aside from Ruby/Password, of suppressing echo
for a password prompt on a terminal? I'm interested in *nix
primarily.

Thanks,
Marc

Thanks all. I was hoping that there was a way I overlooked that
didn't require any external dependencies. However, I ended up using
ruby-termios.

Marc

···

On 5/9/07, Xavier Noria <fxn@hashref.com> wrote:

On May 9, 2007, at 4:46 AM, Marc Soda wrote:

> Anyone know of a way, aside from Ruby/Password, of suppressing echo
> for a password prompt on a terminal? I'm interested in *nix
> primarily.

It's trivial with HighLine.

-- fxn

Thanks all. I was hoping that there was a way I overlooked that
didn't require any external dependencies. However, I ended up using
ruby-termios.

Marc

Marc--I use:

     begin
       system "stty -echo"
       @password = gets.chomp
     ensure
       system "stty echo"
     end

It turns off terminal echoing, ensuring that the script can't end before turning echoing back on.

Dan