randpassphrase

By Hal Canary, 2007-03-20 13:24:02 (link)
#computers-code

/*
   randpassphrase.c
   This makes use of /dev/random
   Copyright 2006 Hal Canary
   DTPD (Dedicated to the Public Domain)
   cc -o randpassphrase randpassphrase.c
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
  FILE *devrandom;
  char source [] = "/dev/random";
  unsigned int num;
  if ((devrandom = fopen(source, "rb")) == NULL) {
    fprintf(stderr, "Cannot open %s\n", source);
    exit(EXIT_FAILURE);
  }
  int i;
  for (i=0; i< 28; i++) {
    if (fread(&num, sizeof(num), 1, devrandom) != 1) {
      fprintf(stderr, "%s: file read error.\n", source);
      exit(EXIT_FAILURE);
    }
    printf("%c",((num % 26) + 97));
    fflush(stdout);
    if (i%4 == 3) { printf(" "); }
  }
  close(devrandom);
  printf("\n");
  return(0);
}

(back)