This template allows creating a flexible architecture. We created the messenger based on the MvVM architecture design pattern using the Android Architecture Components. The Android app is written in Kotlin and follows the latest Google recommendations. This database has no such problems and there is a convenient syntax for working with an RQL (Resource Query Language) sample. Therefore, we chose RethinkDB as the database. But for our purpose, this solution was not suitable - there are a number of problems with cleaning files after deleting records, as well as with scaling in MongoDB. Most companies use MongoDB for this purpose. To do this, it is necessary just to change the settings.įor quick work with chat data and convenient data transfer, we need a NoSQL database (storing the encrypted data until delivery to the recipient). The number of connections can be increased to 100 thousand. The box solution contains support for 10 thousand connections on one node. In our opinion, this platform is best suited for chats using sockets. Thus, no trace is left on the servers.įor the development of the back-end, we chose the NodeJS platform. Only the recipient can decrypt information using the private key. The server stores only encrypted messages that are not delivered to the addressee (for example, when there is no Internet connection) and automatically deletes them after 7 days if the recipient has not appeared on the network. The average processing time for a single message is measured in milliseconds and tends to zero. The server is only a tool to transfer already encrypted messages. It is the most secure protocol in which the encryption and decryption of messages occur without server participation. In this algorithm, data transfer is based on the principle of end-2-end encryption. To solve the problem with the exchange of secret keys, we used the Diffie-Hellman algorithm. You can’t just send it, because the courier can decrypt the message. The correspondence must be encrypted, and before that, it is necessary to transfer the secret key to the second subscriber. If the message is not encrypted, the courier can read it. Suppose we exchange secret messages via courier. A cryptographic key is needed to encrypt and decrypt messages.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |