Why Nostr? What is Njump?
2024-10-07 02:35:52
in reply to

Servidor Público em Regime CLT do Ancapistão on Nostr: É bem fácil criar um aplicativo de chat com criptografia. Você só precisa de ...

É bem fácil criar um aplicativo de chat com criptografia. Você só precisa de conhecimentos na linguagem mobile em que pretende desenvolver o aplicativo e em Python.

Em Python, você cria um webserver com dois endpoints:

1. Um que irá receber a mensagem criptografada e armazená-la no banco de dados (que pode ser um simples arquivo SQLite com 3 colunas: ID, usuário e mensagem).


2. Outro que irá disponibilizar as mensagens do banco de dados para o cliente que as solicitar.



Agora vou falar sobre a parte mobile. Como só conheço Android, vou explicar como criar o cliente para Android:

Crie um projeto e, no layout da MainActivity, coloque um TextView com scroll, que será onde as mensagens serão carregadas e exibidas, e, abaixo, um EditText, onde as mensagens serão digitadas para envio.

Uma classe contendo três métodos:

O método que irá criptografar a mensagem usando AES-256, outro que irá descriptografar a mensagem, e o método que irá gerar a chave para criptografar/descriptografar as mensagens.

Outra classe contendo dois métodos:

Criptografar a mensagem no cliente usando a chave gerada e enviá-la para o webserver para ser armazenada no banco de dados, e outro método para carregar as mensagens criptografadas do banco, que serão passadas ao método junto com a chave de criptografia para descriptografá-las e exibi-las no TextView.

Outra classe que irá gerar um QR code contendo o link do servidor e a chave de criptografia, para que a pessoa com quem você deseja conversar pelo app consiga visualizar as mensagens no cliente dela.

Outra classe que dará a função de ler o QR code e armazenar as informações do link do banco e da chave na memória do app.

Uma thread com loop para carregar as mensagens do banco de dados e exibi-las no TextView.

Outra classe que irá criar um Service contendo um loop que irá verificar a última mensagem no banco de dados, e, se houver mensagem nova, notificará o usuário.

Um menu simples na action bar com um botão para abrir um AlertDialog, que terá três EditTexts:

Link do banco

Nome do usuário

Chave de criptografia/descriptografia


Para enviar a mensagem digitada no EditText, nem precisa criar um botão, apenas use o botão "Enter" do próprio teclado do Android e configure o listener dele para "Send".

E é isso! O app está 100% funcional, se quiser aviadar com mais funcionalidades, fique a disposição.

Author Public Key
npub1g6jjgu06nctv74e96u84jux6vxm3ezncjh7tyquvm66jug02xvzqmqu08l