Как использовать сквозное шифрование в приложении чата Flutter?
Я создал приложение для чата, используя флаттер и свой собственный сервер в качестве бэкэнда для базы данных.
Я хочу добавить сквозное шифрование, как и в других чат-приложениях, таких как WhatsApp, но я не знаю об этом полностью.
Итак, я хочу спросить:
- Работа по сквозному шифрованию должна выполняться на стороне клиента или на сервере?
- Как этого добиться
- есть ли сторонний провайдер для такой штуки, совместимый с флаттером
- И как можно даже сделать это самостоятельно без стороннего провайдера?
2 ответа
По этой ссылке доступен пакет: Encrypt
Он позволяет шифровать текст, используя четыре алгоритма шифрования.
- АЕС
- ЮАР
- Сальса20
- Фернет
Работает на обоих. Сквозное шифрование (E2EE) означает, что отправитель и получатель могут знать только реальное содержание сообщения. Неважно, хранится ли сообщение на сервере или на устройстве пользователя.
Вы можете создать свой собственный алгоритм E2EE или использовать другую доступную библиотеку, например: https://medium.com/@mr.jyotirmoy.paul/building-an-private-room-chat-application-using-flutter-d11306a0623c
Да, доступно несколько пакетов, например:https://github.com/cardoso/virgil-e3kit-flutter .
Вам нужно читать о криптографии и создавать свои собственные алгоритмы