API (Application programming intetface) – это программный интерфейс, обеспечивающий коммуникацию различных программ. Проще говоря, это средство подключения, техническое решение для работы приложений друг с другом.
API используется повсеместно. Например, при бронировании отелей или билетов через агрегаторы. Агрегаторы подключаются к сервисам через API и получают от них данные, которые позволяют сравнивать предложения от разных отелей, пассажирских компаний и т. д. API применяют агрегаторы такси, например Яндекс.GO и Uber. Приложения сервисов такси подключаются по API к навигатором для получения данных, исходя из которых рассчитываются маршрут и цена поездки.
API-ключи – это ключи шифрования для аутентификации пользователя в системе. Иными словами, аналоги логина и пароля. Объясним на простом примере.
Через реку перекинут мост. Этот мост – наше API (средство подключения). На мосту стражник. Через него можно пройти, предоставив Публичный ключ и Секретный ключ. К стражнику подходит путник и представляется: “Я – Василий” (сообщает ему Публичный ключ). Стражник знает, что Василия пропустить можно. Но нужен еще пароль – Секретный ключ. Василий называет пароль, стражник позволяет пройти через мост, то есть воспользоваться API.
Как видно из примера выше, есть два вида ключей API:
Публичный ключ – используется для шифрования данных при обращении приложения к серверу.
Секретный ключ – используется для расшифровки данных, отправленных приложениям.
API-ключи применяются при ассиметричном шифровании. Если злоумышленник получит Публичный ключ, все равно не сможет пройти аутентификацию без Секретного ключа.
Как правило, API-ключи выглядят как набор символов.