(Arne Babenhauserheide)
2016-04-06: safepassword cleanup safepassword cleanup
diff --git a/examples/safepassword.w b/examples/safepassword.w
--- a/examples/safepassword.w
+++ b/examples/safepassword.w
@@ -15,6 +15,11 @@ import
srfi srfi-42
+;; newbase60 without yz_: 57 letters, each 5.78 bits of entropy.
+define qwertysafeletters "0123456789ABCDEFGHJKLMNPQRSTUVWXabcdefghijkmnopqrstuvwx"
+;; delimiters: 2.32 bits of entropy per delimiter.
+define delimiters ",.!?-"
+
define random-source : make-random-source
random-source-randomize! random-source
@@ -32,7 +37,9 @@ define : randomletter letters
define : flatten e
cond
: pair? e
- ` ,@(flatten (car e)) ,@(flatten (cdr e))
+ `
+ ,@ flatten : car e
+ ,@ flatten : cdr e
: null? e
list
else
@@ -40,12 +47,6 @@ define : flatten e
define : password/srfi-42 length
- let
- : qwertysafeletters "0123456789ABCDEFGHJKLMNPQRSTUVWXabcdefghijkmnopqrstuvwx"
- ;; that’s newbase60 without yz_
- ;; means 5.78 bits of entropy per letter.
- delimiters ",.!?-"
- ;; that’s 2.32 bits of entropy per delimiter
list->string
append-ec (: i (iota length 1))
cons : randomletter qwertysafeletters
@@ -56,12 +57,6 @@ define : password/srfi-42 length
define : password/map length
- let
- : qwertysafeletters "0123456789ABCDEFGHJKLMNPQRSTUVWXabcdefghijkmnopqrstuvwx"
- ;; that’s newbase60 without yz_
- ;; means 5.78 bits of entropy per letter.
- delimiters ",.!?-"
- ;; that’s 2.32 bits of entropy per delimiter
list->string
flatten
map
@@ -76,12 +71,6 @@ define : password/map length
define : password length
- let
- : qwertysafeletters "0123456789ABCDEFGHJKLMNPQRSTUVWXabcdefghijkmnopqrstuvwx"
- ;; that’s newbase60 without yz_
- ;; means 5.78 bits of entropy per letter.
- delimiters ",.!?-"
- ;; that’s 2.32 bits of entropy per delimiter
let fill
: letters '()
remaining length