Por exemplo, os dados podem ser criptografados usando um algoritmo criptográfico, transmitido em um estado criptografado e posteriormente ser descriptografado pelo destinatário. Se outra pessoa intercepta os dados criptografados, será difícil entender o que foi transmitido. O Padrão de Criptografia Avançada (AES) é uma forma de criptografia adotada pelo governo dos Estados Unidos em 2001. O AES fornece uma criptografia mais segura do que seu predecessor (padrão NIST), o Padrão de Criptografia de Dados (DES) ou mesmo 3DES.
É este padrão que mostrarei neste post. Para que esta criptografia funcione, o padrão AES pressupõe que as duas partes (emissor e receptor da mensagem/arquivo/etc) concordaram em uma chave e IV, e comunicaram seus valores. O IV não é considerado confidencial e pode ser transmitido em texto não criptografado com a mensagem.
O procedimento para criptografar ou descriptografar consiste basicamente em 3 passos:
1) conseguir a classe que faz a criptografia via:
Cipher c = Cipher.getInstance(ALGORITMO); // vamos precisar da mesma string para decriptar
2) inicializar a classe com a chave desejada, com o IV desejado e informar se irá criptografar (Cipher.ENCRYPT_MODE) ou descriptografar (Cipher.DECRYPT_MODE)
c.init(Cipher.ENCRYPT_MODE, chaveAES, ivps);
c.init(Cipher.DECRYPT_MODE, chaveAES, ivps);
3) executar o método
byte [] msg = c.doFinal(textoComoArrayDeBytes);
Vamos ver a construção da nossa classe:
O vídeo com toda a construção do nosso exemplo é:
Valew Henrique!!! Estou desenvolvendo meu TCC e se trata da comunicação Android para microcontrolador Arduino via WiFi, essa parte de criptografia será muito util pra mim. Vou seguir seu exemplo.
ResponderExcluir