Простое шифрование для передачи данных
При разработки клиент серверных приложений встает задача передать данные с сервера на клиент или наоборот.
Можно конечно передавать все в открытом виде, но иногда это не безопасно.
Давайте разберем самый простой способ шифрования данных.
Введение
Шифрование - это обратимый процесс преобразования исходной строки строки в нечитаемый набор символов.
Симметричное шифрование - это когда для шифрования и дешифрования используется один и тот же ключ.
Одним из известных алгоритмов является AES - расширенный стандарт шифрования.
Так же есть еще более простой алгоритм Base64 - для кодирования используется всего 64 символа.
Асимметричное шифрование — это метод шифрования данных, предполагающий использование двух ключей — открытого и закрытого.
Оно используется для защиты информации при ее передаче, также на его принципах построена работа электронных подписей.
Пример
Бывает так что нам не нужна лишняя сложность и защита передаваемых данных.
Например, мы не хотим передавать почту пользователя или логин в открытом виде. Для этого достаточно будет использовать простой алгоритм шифрования.
Предположим сервер у нас работает на PHP, а клиент на C#.
Тогда код шифрования будет выглядеть просто как на сервере, так и на клиенте.
echo base64_encode('спорт'); // 0YHQv9C+0YDRgg==
string encrypted = "0YHQv9C+0YDRgg==";
byte[] bytes = Convert.FromBase64String(encrypted);
return System.Text.Encoding.Default.GetString(bytes); // спорт
Заключение
Приведенный выше пример - это самое простое, что можно сделать без каких то трудозатрат.
В следующих статьях мы рассмотрим более сложные алгоритмы взаимодействия клиента и сервера.