Как использовать 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.
Другие вопросы по тегам