37  struct termios  OldTtyAttrs, NewTtyAttrs;
 
   39  tcgetattr (STDIN_FILENO, &OldTtyAttrs);
 
   40  NewTtyAttrs         = OldTtyAttrs;
 
   41  NewTtyAttrs.c_lflag = NewTtyAttrs.c_lflag & ~(ICANON|ECHO);
 
   42  tcsetattr (STDIN_FILENO, TCSANOW, &NewTtyAttrs);
 
   44  tcsetattr (STDIN_FILENO, TCSANOW, &OldTtyAttrs);
 
 
   63  printf (
"Please enter your password: ");
 
   74    if ((Char == EOF) || (Char == CHAR_LINEFEED) || (Char == CHAR_CARRIAGE_RETURN)) {
 
   75      Password[PasswordLen] = 
'\0';
 
   79    if ((Char == CHAR_BACKSPACE) || (Char == 
CHAR_DELETE)) {
 
   80      if (PasswordLen > 0) {
 
   87    Password[PasswordLen] = (UINT8)Char;
 
   90  for (Index = 0; Index < 
ARRAY_SIZE (Salt); ++Index) {
 
  102  printf (
"\nPasswordHash: <");
 
  103  for (Index = 0; Index < 
sizeof (PasswordHash); ++Index) {
 
  104    printf (
"%02x", PasswordHash[Index]);
 
  107  printf (
">\nPasswordSalt: <");
 
  108  for (Index = 0; Index < 
sizeof (Salt); ++Index) {
 
  109    printf (
"%02x", ((UINT8 *)Salt)[Index]);