Ответ 1
Ряд умных людей работает над стандартом, и он называется OAuth. В нем уже есть ряд примеров реализации, поэтому довольно легко начать работу.
Скажем, что у меня есть веб-сайт с некоторой информацией, доступ к которой можно получить извне. Уважаемый клиент должен изменить эту информацию. Пример: ключ API Google Analytics или WordPress. Как создать систему, которая работает так (независимо от языка программирования)?
Ряд умных людей работает над стандартом, и он называется OAuth. В нем уже есть ряд примеров реализации, поэтому довольно легко начать работу.
Здесь - документ по дизайну API.
Простой:
В настоящее время я использую конкатенацию нескольких MD5 с солью. MD5 генерируются из различных конкатенаций пользовательских данных.
Хорошим способом генерации ключа было бы хранить GUID (глобально уникальный идентификатор) для каждой пользовательской записи в базе данных. GUID будет уникальным и почти невозможно догадаться.
Существуют также инфраструктурные службы, которые управляют всем этим для вас, как http://www.3scale.net (раскрытие здесь я работаю), http://www.mashery.com и http://www.apigee.com/.