|  | DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes | 
This is an automatic "excavation" of a thematic subset of
 See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. | 
top - metrics - downloadIndex: T m
    Length: 1404 (0x57c)
    Types: TextFile
    Names: »mkpasswd.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« 
        └─⟦e5a54fb17⟧ 
            └─⟦this⟧ »pp-5.0/Tools/mkpasswd/mkpasswd.c« 
/* mkpasswd.c: generate encryped/encoed passwd */
# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Tools/mkpasswd/RCS/mkpasswd.c,v 5.0 90/09/20 16:27:31 pp Exp Locker: pp $";
# endif
/*
 * $Header: /cs/research/pp/hubris/pp-beta/Tools/mkpasswd/RCS/mkpasswd.c,v 5.0 90/09/20 16:27:31 pp Exp Locker: pp $
 *
 * $Log:	mkpasswd.c,v $
 * Revision 5.0  90/09/20  16:27:31  pp
 * rcsforce : 5.0 public release
 * 
 */
#include "util.h"
#ifdef BSD42
#define RAND random
#define SRAND srandom
#else
#define RAND rand
#define SRANDOM srand
#endif
char	*myname;
static void findpass ();
main (argc, argv)
int	argc;
char	**argv;
{
	extern char	*optarg;
	extern int	optind;
	int	opt;
	char	*pass;
	myname = argv[0];
	while((opt = getopt(argc, argv, "")) != EOF)
		switch (opt) {
		    default:
			fprintf (stderr, "Usage: %s", myname);
			break;
		}
	argc -= optind;
	argv += optind;
	findpass ();
	
}
char saltkeys[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./";
extern char *crypt ();
static void findpass ()
{
	char *pass, *epass;
	char saltc[3];
	time_t now;
	(void) time (&now);
	SRAND (now);
	saltc[0] = saltkeys[RAND () % ((sizeof saltkeys) - 1)];
	saltc[1] = saltkeys[RAND () % ((sizeof saltkeys) - 1)];
	saltc[2] = 0;
	pass = getpassword ("Password: ");
	epass = crypt (pass, saltc);
	
	bzero (pass, strlen (pass));
	
	printf ("%s\n", epass);
}