no because he pre-made a username and ran that username past that calculation to generate the password. It had the potential to be really nasty, but as intimidating as that little block of code looks, it really only spits out a small number of variants for any given letter. Here is a printout I did going through that
112277.174316263 user: a, pass: a
112277.174316263 user: a, pass: b
112277.174316263 user: a, pass: c
112277.174316263 user: a, pass: d
112277.174316263 user: a, pass: e
112277.174316263 user: a, pass: f
112277.174316263 user: a, pass: g
112283.332211 user: a, pass: w
112283.332211 user: a, pass: x
112283.332211 user: a, pass: y
112283.332211 user: a, pass: z
112277.174316263 user: b, pass: a
112277.174316263 user: b, pass: b
112277.174316263 user: b, pass: c
112277.174316263 user: b, pass: d
112277.174316263 user: b, pass: e
112277.174316263 user: b, pass: f
112283.332211 user: b, pass: x
112283.332211 user: b, pass: y
112283.332211 user: b, pass: z
112277.174316263 user: c, pass: a
112277.174316263 user: c, pass: b
112277.174316263 user: c, pass: c
112277.174316263 user: c, pass: d
112277.174316263 user: c, pass: e
112283.332211 user: c, pass: y
112283.332211 user: c, pass: z
112277.174316263 user: d, pass: a
112277.174316263 user: d, pass: b
112277.174316263 user: d, pass: c
112283.332211 user: d, pass: z
112277.174316263 user: e, pass: a
112277.174316263 user: e, pass: b
112277.174316263 user: e, pass: c
112277.174316263 user: f, pass: a
112277.174316263 user: f, pass: b
112277.174316263 user: g, pass: a
97: a
98: b
99: c
100: d
101: e
102: f
103: g
104: h
105: i
106: j
107: k
108: l
109: m
110: n
111: o
112: p
113: q
114: r
115: s
116: t
117: u
118: v
119: w
120: x
121: y
122: z
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711
UPPER 112285.394711 // M
UPPER 112286.415544333 // N
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
UPPER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
LOWER 112286.415544333
you can see the similarities. Its a simple flaw in the implementation. I wouldnt have gone to the trouble of making a keygen if it wasnt so easy
But having a script like that to mangle an input is a good way to go about ‘harder to crack’ password protection.