salting passwords. Salt is created with os.urandom() with 32 bytes. This...

..., according to the python docs, is cryptographically secure, but I've heard otherwise... most likely OK for the majority of purposes.