Как использовать сквозное шифрование в приложении чата Flutter?

Я создал приложение для чата, используя флаттер и свой собственный сервер в качестве бэкэнда для базы данных.
Я хочу добавить сквозное шифрование, как и в других чат-приложениях, таких как WhatsApp, но я не знаю об этом полностью.
Итак, я хочу спросить:

  1. Работа по сквозному шифрованию должна выполняться на стороне клиента или на сервере?
  2. Как этого добиться
  3. есть ли сторонний провайдер для такой штуки, совместимый с флаттером
  4. И как можно даже сделать это самостоятельно без стороннего провайдера?

2 ответа

По этой ссылке доступен пакет: Encrypt

Он позволяет шифровать текст, используя четыре алгоритма шифрования.

  1. АЕС
  2. ЮАР
  3. Сальса20
  4. Фернет
  1. Работает на обоих. Сквозное шифрование (E2EE) означает, что отправитель и получатель могут знать только реальное содержание сообщения. Неважно, хранится ли сообщение на сервере или на устройстве пользователя.

  2. Вы можете создать свой собственный алгоритм E2EE или использовать другую доступную библиотеку, например: https://medium.com/@mr.jyotirmoy.paul/building-an-private-room-chat-application-using-flutter-d11306a0623c

  3. Да, доступно несколько пакетов, например:https://github.com/cardoso/virgil-e3kit-flutter .

  4. Вам нужно читать о криптографии и создавать свои собственные алгоритмы

Другие вопросы по тегам