Создайте случайную строку, которую можно использовать в качестве запроса в ссылке.C#

Место общения программистов C#
Ответить
Anonymous
 Создайте случайную строку, которую можно использовать в качестве запроса в ссылке.

Сообщение Anonymous »

Я пытаюсь создать случайную строку, которая будет служить токеном для сброса пароля. После создания я сохраню «ключ» в своей базе данных и отправлю пользователю ссылку по электронной почте для сброса его пароля (например, page.com/?key=xxxxxxxxxxxxxxx).
Меня пытаюсь использовать следующий код:

Код: Выделить всё

RandomNumberGenerator rng = RandomNumberGenerator.Create();
byte[] randomBytes = new byte[30];
rng.GetBytes(randomBytes);
string randKey = Convert.ToBase64String(randomBytes);
Это, кажется, хорошо создает случайную строку, но проблема в том, что иногда используются зарезервированные символы (/, + и т. д.), которые ломают мой ключ при попытке прочитать его строку запроса.
Есть ли способ сгенерировать ключ без вышеуказанных символов? Я знаю, что могу использовать randKey.Replace(), но мне придется сделать это для всех разных символов, и я не уверен, что это будет лучший подход.

Подробнее здесь: https://stackoverflow.com/questions/634 ... -in-a-link
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»