Pular para o conteúdo principal

Como criptografar e descriptografar usando o AES em Python

A criptografia AES (Advanced Encryption Standard) é uma técnica popular para proteger informações sensíveis. No Python, você pode usar a biblioteca cryptography para realizar operações de criptografia AES. Certifique-se de instalá-la primeiro.
 
pip install cryptography

Aqui está um exemplo de como realizar criptografia e descriptografia AES usando a biblioteca cryptography:
 
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import padding from base64 import urlsafe_b64encode, urlsafe_b64decode def encrypt_aes(key, plaintext): # Converte a chave para o formato correto (32 bytes para AES-256) key = key.ljust(32)[:32].encode('utf-8') # Gera um vetor de inicialização (IV) aleatório iv = os.urandom(16) # Cria um objeto de cifra usando AES em modo CBC cipher = Cipher(algorithms.AES(key), modes.CFB(iv), backend=default_backend()) # Adiciona padding ao texto plano padder = padding.PKCS7(algorithms.AES.block_size).padder() padded_data = padder.update(plaintext.encode('utf-8')) + padder.finalize() # Cifra o texto plano encryptor = cipher.encryptor() ciphertext = encryptor.update(padded_data) + encryptor.finalize() # Combina o IV e o texto cifrado e codifica para Base64 result = urlsafe_b64encode(iv + ciphertext).decode('utf-8') return result def decrypt_aes(key, ciphertext): # Converte a chave para o formato correto (32 bytes para AES-256) key = key.ljust(32)[:32].encode('utf-8') # Decodifica o texto cifrado da Base64 decoded_data = urlsafe_b64decode(ciphertext) # Extrai o IV iv = decoded_data[:16] # Cria um objeto de cifra usando AES em modo CBC cipher = Cipher(algorithms.AES(key), modes.CFB(iv), backend=default_backend()) # Decifra o texto cifrado decryptor = cipher.decryptor() decrypted_data = decryptor.update(decoded_data[16:]) + decryptor.finalize() # Remove o padding unpadder = padding.PKCS7(algorithms.AES.block_size).unpadder() plaintext = unpadder.update(decrypted_data) + unpadder.finalize() return plaintext.decode('utf-8') # Exemplo de uso chave = "chave_secreta" texto_para_cifrar = "Texto secreto para cifrar!" # Criptografa o texto texto_cifrado = encrypt_aes(chave, texto_para_cifrar) print(f'Texto cifrado: {texto_cifrado}') # Descriptografa o texto texto_decifrado = decrypt_aes(chave, texto_cifrado) print(f'Texto decifrado: {texto_decifrado}')
A segurança em criptografia é uma área complexa, e é importante entender as melhores práticas e considerações ao implementar soluções de segurança. Certifique-se de usar chaves seguras e manter seus sistemas atualizados com as práticas de segurança mais recentes.

Comentários

Postagens mais visitadas deste blog

Vigilância Global O Olho Que Nunca Dorme

  A pesquisa que revela que mais de 70% dos brasileiros veem a necessidade de regulamentação para o uso de inteligência artificial (IA) levanta questões profundas sobre o equilíbrio entre segurança e liberdade em uma sociedade democrática. Embora a regulação seja frequentemente promovida como um meio de proteger os cidadãos contra abusos tecnológicos, é essencial questionar até que ponto esse controle pode se transformar em um instrumento de restrição das liberdades individuais. A Regulamentação como Ferramenta de Controle A proposta de criação do Sistema Nacional de Regulação e Governança de Inteligência Artificial, liderada pelo presidente do Senado, Rodrigo Pacheco, exemplifica como governos podem usar a justificativa de "proteção" para expandir seu controle sobre tecnologias emergentes. Embora o objetivo declarado seja proteger a sociedade de riscos, como golpes e manipulação eleitoral, a regulamentação excessiva pode facilmente se tornar uma ferramenta de censura e vig...

Arquitetura de um processador

  A arquitetura de um processador refere-se à estrutura interna e ao conjunto de princípios que definem como ele funciona e como processa informações. É o "projeto" que descreve como as diferentes partes do processador interagem e como o processador interage com o resto do sistema. Aqui estão os principais componentes e conceitos envolvidos na arquitetura de um processador: Unidade Central de Processamento (CPU):     Unidade de Controle (CU - Control Unit): Responsável por gerenciar e coordenar todas as operações do processador. Ela interpreta as instruções do programa e direciona outras partes do processador para executar as tarefas necessárias.   Unidade Lógica e Aritmética (ALU - Arithmetic Logic Unit): Realiza operações aritméticas (como adição e subtração) e operações lógicas (como AND, OR, NOT).     Registradores: Pequenas áreas de armazenamento dentro do processador que armazenam dados temporários e instruções durante o processamento. Conjunto de ...

Brasil: Exportador de Golpes Cibernéticos

  O Brasil além de ser um dos países mais afetados por ameaças digitais, ele  também se destaca como um dos principais exportadores de golpes cibernéticos , especialmente na categoria de trojans bancários, que têm migrado das plataformas tradicionais para os dispositivos móveis. Fonte:https://cybermap.kaspersky.com/pt/stats#country=215&type=OAS&period=w Fonte:https://cybermap.kaspersky.com/pt/stats#country=215&type=OAS&period=w Na lista das ameaças mais comuns, os golpes criados no Brasil , como os trojans Banbra , Brats e Basbanke , lideram o ranking e representam quase 60% das tentativas de infecção para celulares na América Latina nos últimos 12 meses. Esse cenário aponta para uma tendência preocupante: segundo especialistas da Kaspersky, os grupos de criminosos brasileiros devem se expandir ainda mais em escala global . Fabio Assolini, diretor da Equipe Global de Pesquisa e Análise da Kaspersky para a América Latina, ressalta: “O cenário de ameaças móveis...