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.
Published at
2024-10-07 02:35:52Event JSON
{
"id": "bd112999beb739fc6a27b239eec88496fde640e3ff13f06b0a98d98d50d080d3",
"pubkey": "46a52471fa9e16cf5725d70f5970da61b71c8a7895fcb2038cdeb52e21ea3304",
"created_at": 1728268552,
"kind": 1,
"tags": [
[
"p",
"135d2b016eb41672477291ea7bcafe5f00e007dc6612610ff58a08655bc1b095"
],
[
"a",
"34550:135d2b016eb41672477291ea7bcafe5f00e007dc6612610ff58a08655bc1b095:Brasil",
"",
"root"
]
],
"content": "É 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.\n\nEm Python, você cria um webserver com dois endpoints:\n\n1. 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).\n\n\n2. Outro que irá disponibilizar as mensagens do banco de dados para o cliente que as solicitar.\n\n\n\nAgora vou falar sobre a parte mobile. Como só conheço Android, vou explicar como criar o cliente para Android:\n\nCrie 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.\n\nUma classe contendo três métodos:\n\nO 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.\n\nOutra classe contendo dois métodos:\n\nCriptografar 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.\n\nOutra 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.\n\nOutra 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.\n\nUma thread com loop para carregar as mensagens do banco de dados e exibi-las no TextView.\n\nOutra 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.\n\nUm menu simples na action bar com um botão para abrir um AlertDialog, que terá três EditTexts:\n\nLink do banco\n\nNome do usuário\n\nChave de criptografia/descriptografia\n\n\nPara 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\".\n\nE é isso! O app está 100% funcional, se quiser aviadar com mais funcionalidades, fique a disposição.\n\n",
"sig": "ed3a6c1fc99278d4e26f04259f2df66f2253b4bcb3a9bb1b6dfd6b3bb08aa911b14e7fd5828331be95c430927b53516bf4a6d98e48b64ff094064cc4ca026c0a"
}