• Jueves 28 de Marzo de 2024, 13:39

Autor Tema:  Passwords En C  (Leído 2118 veces)

elaragon

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Passwords En C
« en: Lunes 16 de Octubre de 2006, 18:29 »
0
Hola!

Voy a implementar un programa en UNIX y para ello necesito crear una serie de cuentas con sus passwords asociados.

El problema es que con los conocimientos que poseo de C, al introducir la contraseña se muestra por pantalla conforme voy tecleándola.

¿Hay algún modo de evitarlo?

Gracias

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Passwords En C
« Respuesta #1 en: Lunes 16 de Octubre de 2006, 18:48 »
0
Que yo sepa no hay forma de hacerlo con ANSI C asi que tal vez esto te sirva: http://www6.uniovi.es/cscene/topics/unix/n...ermios.xml.html

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

elaragon

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Passwords En C
« Respuesta #2 en: Lunes 16 de Octubre de 2006, 19:21 »
0
el enlace está roto...

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Passwords En C
« Respuesta #3 en: Lunes 16 de Octubre de 2006, 20:22 »
0
Si, el enlace esta roto.

Eternal Idol, lo que querias hacerle saber elaragon, es que utilizara rutinas del termios.h, para hacer una funcion tipo getch, como la de Borland(es decir sin eco, y captura caracter por caracter) ?

La idea es hacer la lectura en modo no canonico, para ello se deben modificar los valores de una estructura termios.

Ahora lo que me queda en duda es si estas trabajando con C++ Builder sobre Unix?. Disculpen mi ignorancia, es que se no sabia se podria trabajar sobre esa plataforma, ademas que nunca lo que utilizado  <_<

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Passwords En C
« Respuesta #4 en: Lunes 16 de Octubre de 2006, 20:37 »
0
"by Christian Sunesson - christian.sunesson@abc.se
 * 1998 Oct */

#include <termios.h>
#include <unistd.h>
#include <stdio.h>

int main()
{
   struct termios orig, changes;
   
   tcgetattr(STDIN_FILENO, &orig);
   
   changes = orig;
   changes.c_lflag &= ~(ICANON|ECHO);
   tcsetattr(STDIN_FILENO, TCSADRAIN, &changes);
   
   puts("Hit any key!");
   getchar();
   puts("Thanks!");
   
   /* restore old settings */
   tcsetattr(STDIN_FILENO, TCSADRAIN, &orig);
   return 0;
}

 
   

1998 Oct. First published
2000 Apr. Rewritten in XML

This article is Copyright © 1998-2000 by Christian Sunesson and Copyright © 1998-2000 by C-Scene. All Rights Reserved. "

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Passwords En C
« Respuesta #5 en: Martes 17 de Octubre de 2006, 17:35 »
0
Hola, bueno ya no recuerdo mucho del desarrollo en linux / unix, pero hasta donde alca nzo ncurses tiene una funcion que eprmite capturar las cosas a manera de password, es decir ocultando o reeemplazando el mecho del teclado.

http://dickey.his.com/ncurses/ncurses-intro.html

http://www.linux.com/howtos/NCURSES-Progra...TO/attrib.shtml
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Passwords En C
« Respuesta #6 en: Martes 17 de Octubre de 2006, 18:15 »
0
"You often see answers like, "use ncurses", but that is the wrong answer most of the time. The library ncurses is for writing text GUIs, probably not what our aspiring programmer wants to do. Not just yet in her career anyway."  :ph34r:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Passwords En C
« Respuesta #7 en: Martes 17 de Octubre de 2006, 22:24 »
0
Cita de: "JuanK"
Hola, bueno ya no recuerdo mucho del desarrollo en linux / unix, pero hasta donde alca nzo ncurses tiene una funcion que eprmite capturar las cosas a manera de password, es decir ocultando o reeemplazando el mecho del teclado.

http://dickey.his.com/ncurses/ncurses-intro.html

http://www.linux.com/howtos/NCURSES-Progra...TO/attrib.shtml
Es el pero consejo que he escuchado ncurses no es para esto, no es necesario.
Para hacerlo en UNIX se puede usar el comando stty (man stty) o tambien se puede usar la libreria readline.
Aunque la mejor forma es habrir el STDIN y STDOUT de la terminal para emularuna peuqeña VT.
No te puedo poner un codigo de ejmplo en C porque no es mi lenguaje pero si te sirve en Perl...
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Passwords En C
« Respuesta #8 en: Martes 17 de Octubre de 2006, 23:25 »
0
Bueno sehun veo se puede controlarlo con ioctl pero como dice Eternal con termios se puede:
http://unixhelp.ed.ac.uk/CGI/man-cgi?termios+3
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.