Servidor Público 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.
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.