Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 12th, 2012  |  syntax: None  |  size: 0.45 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/usr/bin/env racket
  2. #lang racket/base
  3. (require net/base64)
  4.  
  5. ;; tunables
  6. (define amount 32)
  7. (define sources (list "/dev/urandom" "/dev/random"))
  8.  
  9.  
  10. (define (read-entropy amt srcs)
  11.     (let ((src (findf file-exists? srcs))
  12.           (reader (lambda () (read-bytes amt))))
  13.       (if (not src)
  14.           (format "Error: can't find available source (in ~s)" srcs)
  15.           (base64-encode (with-input-from-file src reader)))))
  16.  
  17. (display (read-entropy amount sources))