Sponsored Content
Full Discussion: Masking Password with *'s
Top Forums Programming Masking Password with *'s Post 302480291 by jim mcnamara on Tuesday 14th of December 2010 12:27:30 PM
Old 12-14-2010
my bad - this works, my code had several logic errors - thanks corona.

Code:
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <string.h>

struct termios save;

void echoOff()
{
  struct termios term;

  tcgetattr( 0, &save );
  term = save;
  term.c_lflag &= ~(ICANON | ECHO);;
  term.c_cc[VMIN]=0;
  term.c_cc[VTIME]=0;
  
  tcsetattr( 0, TCSANOW, &term );
}

void echoOn()
{
  tcsetattr( 0, TCSANOW, &save );
}

int kbd_rd(const int fd)  /* wait 2 seconds to read keyboard stroke */
{
    fd_set set_read;
    int maxfd = fd + 1;
    int ch=0;
    char buf[4]={0x0};
    struct timeval tv_tmout={0,0};
    tv_tmout.tv_sec=99;
    FD_ZERO(&set_read);
    FD_SET(fd, &set_read);
    select(maxfd, &set_read, NULL, NULL, &tv_tmout);
    if (FD_ISSET(fd, &set_read))
        read(fd, buf, 1);
    ch=buf[0];

    return ch;
}


int main()
{
  char password[30]={0x0};
  char *p=password;
  int ch=0;
  int fd=fileno(stdin);
  
  echoOff();
  while( (ch=kbd_rd(fd)) )
  {
      printf("%c", (ch=='\n') ? ch : '*');
      fflush(stdout);
      if(ch=='\n') break;
      *p=ch;
      p++;
  }
  
  echoOn();

  printf("Hello dude, your Password was: %s\n", password );

  return 0;
}

There is no error checking, plus tcsetattr() will return success even if it does not set all the attributes correctly. See 'Advanced Programming in the UNIX Environment' - Stevens & Rago - section on terminal I/O/
 

10 More Discussions You Might Find Interesting

1. IP Networking

IP Masking

Is it possible for a internal LAN to mask a IP e.g. i have a server ip running the intranet ip being 192.168.0.8 and i want to make that like www.intranet.com is this possible on a internal network ? (1 Reply)
Discussion started by: perleo
1 Replies

2. Shell Programming and Scripting

Masking Content of a String

Hello, I need to know that whether a content of a string can be hidden or masked inside a shell script. My Sample Code is given below <Code> #!/usr/bin/ksh Userid=test DB=temp Passwd=`java Decryption test` # The Above command will get the encryped password for "test" user id and store... (2 Replies)
Discussion started by: maxmave
2 Replies

3. Shell Programming and Scripting

Data Masking

I have a pipe delimited file that I need to 'mask' to before loading to keep some data confidential. I need to maintain the first 4 bytes of certain columns and replace the remaining bytes with an 'x'. I would like to maintain spaces but it's not a requirement. Example, need to mask columns 2... (2 Replies)
Discussion started by: 1superdork
2 Replies

4. Emergency UNIX and Linux Support

Masking of number

BAT:0310:2009-08-0:Y4 :H:D:00003721:03103721.IFH:00138770:05767:00000000001279' EXR:CLP:912.570000' STA:A:9071559:2009-08-10::Wer::Mrs' DEF::531.97:531.97:310221661617::+ABC:BAL:1:N::::5:40.00:0.00:2009-08-10:CN:1111111111109962::3:N:missc :N:PH:00010833:... (5 Replies)
Discussion started by: mad_man12
5 Replies

5. Shell Programming and Scripting

Scripting help/advise on hiding/masking username/password

Hi, I currently have a UNIX script with a function that uses a username and password to connect to the database, retrieve some information and then exit. At the moment, am getting the username and password from a hidden plain text file and permission set to -r--------, i.e. read only to who... (1 Reply)
Discussion started by: newbie_01
1 Replies

6. Shell Programming and Scripting

masking issue

Hi I am facing an issue with the below script which has the below line each field being separated with a tab. I need to mask the 8 and 7th field based on following conditions 1. 8th field is 16 in length and is numerics i will mask the middle 6 digits except the first 6 and last 4. input... (2 Replies)
Discussion started by: mad_man12
2 Replies

7. Shell Programming and Scripting

Masking Password from within a Bash Shell Script

Is there a way to mask the password inside of a script to minimize the impact of a comprimised server? So ssh -o "PasswordAuthentication no" -o "HostbasedAuthentication yes" -l testuser 192.168.3.1 "mysqldump --opt --all-databases -u root -pPassword| gzip" > $backup_dir/mysqldump.gz a... (2 Replies)
Discussion started by: metallica1973
2 Replies

8. Shell Programming and Scripting

Masking algorithm

I have a requirement of masking few specific fields in the UNIX file. The details are as following- File is fixed length file with each record of 250 charater length. 2 fields needs to be masked – the positions are 21:30 and 110:120 The character by character making needs to be done which... (5 Replies)
Discussion started by: n78298
5 Replies

9. UNIX for Dummies Questions & Answers

Masking data

How Can I mask one particular columns using some unix command? (4 Replies)
Discussion started by: dsa
4 Replies

10. Shell Programming and Scripting

Masking with gsub command

My file "test.dat" data as below Requirement is to mask(replace) all english characters with "X" EXCEPT first 7 characters of every line. my command awk '{gsub("]","X")}1' test.dat looks not working properly, Appreciate any suggestion... (6 Replies)
Discussion started by: JSKOBS
6 Replies
Password(3pm)						User Contributed Perl Documentation					     Password(3pm)

NAME
DBIx::Password - Allows you to create a global password file for DB passwords SYNOPSIS
use DBIx::Password; my $dbh = DBIx::Password->connect($user); my $dbh = DBIx::Password->connect_cached($user); $dbh->getDriver; DBIx::Password::getDriver($user); DBIx::Password::checkVirtualUser($user); DBIx::Password::clearConfig(); DBIx::Password::readConfig("$ENV{HOME}/.my.secret.file"); DESCRIPTION
Don't you hate keeping track of database passwords and such throughout your scripts? How about the problem of changing those passwords on a mass scale? This module is one possible solution. It stores all your virtual users and data in /etc/dbix-password.conf. For each user you need to specify the database module to use, the database connect string, the username and the password. You will have to give a name to this virtual user. You can add as many as you like. I would recommend that if you are only using this with web applications that you change the final permissions on this package after it is installed in site_perl such that only the webserver can read it. A method called getDriver has been added so that you can determine what driver is being used (handy for working out database indepence issues). If you want to find out if the virtual user is valid, you can call the class method checkVirtualUser(). It returns true(1) if the username is valid, and zero if not. Once your are done you can use the connect method (or the connect_cache method) that comes with DBIx-Password and just specify one of the virtual users you defined while making the module. BTW I learned the bless hack that is used from Apache::DBI so some credit should go to the authors of that module. This is a rewrite of the module Tangent::DB that I did for slashcode. If your program does not need the system-wide information stored in the /etc/dbix-password.conf file, you may use the clearConfig() and readConfig() functions to get the data from another source. At any time, readConfig() may also be used to merge the data from another file into the currently-loaded configuration. Hope you enjoy it. HOME
To find out more information look at: http://www.tangent.org/DBIx-Password/ AUTHOR
Brian Aker, brian@tangent.org SEE ALSO
perl(1). DBI(3). perl v5.10.0 2009-05-09 Password(3pm)
All times are GMT -4. The time now is 10:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy