On Fri, Aug 8, 2014 at 2:01 AM, Paul Wolf <paulwolf...@gmail.com> wrote: > This is a proposal with a working implementation for a random string > generation template syntax for Python. `strgen` is a module for generating > random strings in Python using a regex-like template language. Example: > > >>> from strgen import StringGenerator as SG > >>> SG("[\l\d]{8:15}&[\d]&[\p]").render() > u'F0vghTjKalf4^mGLk'
Why aren't you using regular expressions? I am all for conciseness, but using an existing format is so helpful... Unfortunately, the equivalent regexp probably looks like r'(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])[a-zA-Z0-9]{8:15}' (I've been working on this kind of thing with regexps, but it's still incomplete.) > * Uses SystemRandom class (if available, or falls back to Random) This sounds cryptographically weak. Isn't the normal thing to do to use a cryptographic hash function to generate a pseudorandom sequence? Someone should write a cryptographically secure pseudorandom number generator library for Python. :( (I think OpenSSL comes with one, but then you can't choose the seed.) -- Devin -- https://mail.python.org/mailman/listinfo/python-list