Как использовать SecureRandom.urlsafe_base64?
Я действительно новичок в этом и мне нужно создать URL-токен длиной от 2 до 20 символов, и разрешены только буквенно-цифровые символы (буквы и цифры). Я использую этот токен для обработки платежным провайдером.
У меня есть метод ниже, но я получил ошибку, что токен был недействительным. Как я могу переписать метод так, чтобы он по-прежнему был безопасным для URL, но не превышал 20 символов и использовал только буквенно-цифровые символы?
token = SecureRandom.urlsafe_base64
1 ответ
Решение
Согласно документации SecureRandom.urlsafe_base64
вернет символы "-" и "_", которые, как вы сказали, вам не нужны.
Ты можешь использовать SecureRandom.hex(n)
получить 2*n
символы, содержащие az и 0-9. Это все еще безопасно URL. Ваш окончательный код будет:
token = SecureRandom.hex # without `n` token will be 16 characters long.