JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
choose four words at random
[four-random-words.git] / four-words.coffee
diff --git a/four-words.coffee b/four-words.coffee
new file mode 100644 (file)
index 0000000..433ddbb
--- /dev/null
@@ -0,0 +1,21 @@
+fs = require 'fs'
+async = require 'async'
+crypto = require 'crypto'
+
+async.parallel [
+               (callback) -> crypto.randomBytes 12, callback
+               (callback) -> fs.readFile 'chosen-few.txt', 'utf8', callback
+       ], (err, [rnd, data]) ->
+               if err
+                       throw err
+
+               words = []
+               for word in data.split(/\n/)
+                       words.push word
+
+               password = []
+               for i in [0..3]
+                       random = rnd[i] << 16 | rnd[i+1] << 8 | rnd[i+2]
+                       console.log rnd[i], rnd[i+1], rnd[i+2], random
+                       password.push words[random % words.length]
+               console.log password.join ' '