Рейтинг:
2
Afzaal Ahmad Zeeshan
Вы можете использовать это, Класс RNGCryptoServiceProvider (System.Безопасность.Криптография)[^] и это обеспечивает безопасную случайность — не засеянное случайное число. В большинстве безопасных случаев это генератор случайных чисел, который следует использовать вместо простого старого случайного класса .net Framework. Вы можете прочитать больше об этом объекте на самой странице MSDN.
Обновление:
Если вы используете токен только для аутентификации, например OAuth и т. д. Затем я бы рекомендовал использовать объект Guid, чтобы создать новую уникальную строку для каждого устройства. Он имеет размер 128 бит (2128 + 1) - это огромная сумма. Вы можете создать это довольно легко, а также,
var token = Guid.NewGuid().ToString();
Затем это можно хранить и использовать везде, где это необходимо. Я использовал этот метод в своем собственном приложении. Безопасный и зашифрованный способ генерации токена был бы полезен в тех случаях, когда все должно быть частным — управление денежными средствами является одним из примеров здесь, шифрование/дешифрование или генерация защищенных ключей или солей для хэширования паролей.
Подробнее об этом читайте здесь:
Структура Guid (Система)[
^]
Member 9129971
большое спасибо, любые моменты, которые вы должны иметь в виду, используя эту технику и генерируя токен для webapi.so чтобы сделать его безопасным.
Afzaal Ahmad Zeeshan
Если токен должен быть защищен, например, для валюты или для шифрования, то вы должны использовать его. В противном случае достаточно довольно старых случайных или Guid - объектов.
Если токены просто будут служить для аутентификации, то рассмотрите возможность использования Guid, они в какой-то степени уникальны. Я лично использовал Guid в своем веб-приложении, которое я разработал некоторое время назад. :-)
Member 9129971
кроме того, мы всегда находим миллиарды статей по любому вопросу в интернете, но для обеспечения безопасности webapi нашел только одну статью по всему интернету, которая, кажется, используется всем миром. а вот и этот http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/. Но это включает в себя тяжелую конфигурацию и многие вещи за сценой, а также обнаруженные трудности в реализации в соответствии с моим требованием.
Afzaal Ahmad Zeeshan
Безопасность-это жесткая концепция, брат! :-)
Member 9129971
без сомнения :), кстати, спасибо за ваш ответ и быстрый ответ.И с наилучшими пожеланиями.
Member 9129971
Приложение очень чувствительно и включает в себя платежи и транзакции, поэтому не может использовать guid, так как я думаю, что это предсказуемо.Люди предлагают использовать owin,identity или jwt для этой цели, но я не работал с ними ранее , и они делают генерацию токенов за сценой, которую я не понял, и у меня очень ограниченное время, чтобы полностью изучить и понять их.Вот почему я ищу что-то, не используя слишком много конфигурации.
Afzaal Ahmad Zeeshan
По моему собственному мнению, идентичность была бы отличной основой для использования. Я также не знал и до сих пор не знаю всей идентичности, но основные понятия довольно просты.
В этом случае предложенное мною решение может сработать. Но все же его нужно было бы настроить и разработать.
И удачи тебе тоже.
Member 9129971
что вы думаете об этой статье http://www.primaryobjects.com/2015/05/08/token-based-authentication-for-web-service-apis-in-c-mvc-net/.
Он использует алгоритм.
Afzaal Ahmad Zeeshan
Это действительно очень хорошая статья, однако есть несколько областей, где я могу не согласиться с автором. Но в целом это была хорошая статья с четкими разделами.
Member 9129971
не могли бы вы объяснить, где вы не согласны с этой статьей?Я планирую использовать эту статью с небольшим изменением, что вместо генерации токена на стороне клиента мы будем генерировать токен только на стороне сервера и хранить его на стороне клиента, а затем использовать его для дальнейших запросов, пока он не истечет.
Afzaal Ahmad Zeeshan
В таком случае это идеальный предмет, и вы должны его использовать.
Случай, когда я думаю, что это заставляет меня не соглашаться, - это генерация токенов; он использует для этого криптографическую функцию. В то время как простого Guid может быть достаточно для генерации токена. Он имеет довольно огромные размеры с точки зрения возможностей и поэтому может быть использован для любого приложения корпоративного класса.
В остальном парень проделал отличную работу.