Mmm el 'truco' sería leer el input sin mostrarlo en pantalla y posteriormente poner un * en la misma.
El código de este ejemplo es para Windows pero si buscás las librerias que contienen las funciones utilizadas no vas a tener ningún problema en portarlo:
Código:
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <conio.h>
void main()
{
char c;
char clave[9];
memset(clave, 0, 9);
printf("escriba su clave:");
for (int x = 0; x < 8; x++)
{
c = getch();
clave[x] = c;
putch('*');
}
printf("\r\nsu clave es: %s", clave);
}