En mi aplicación web, genero tokens / contraseñas temporales para acceder a archivos utilizando este método:
ALPHABET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"
ALPHABET_LENGTH = 64
def generate_token(str_len = 22)
res = ""
str_len.times{res << ALPHABET[rand(ALPHABET_LENGTH)]}
res
end
¿Existe alguna vulnerabilidad en la generación de tokens / contraseñas de esta manera?
Si importa, un token generado tiene una duración de 7 días.