Generating random strings is usually part of every application, but how do we securely generate them?