Criptografar arquivo txt
- Amanda Nascimento
- há 1 dia
- 2 min de leitura
Criei um arquivo txt contendo um conteúdo (texto) que quero criptografar.
O arquivo esta na minha área de trabalho e estou utilizando o OneDrive.
Para executar este script utilizei o vs code e instalei pelo terminal a biblioteca cryptography.
🔐 Script python para criptografar o arquivo txt chamado textee.txt
import base64
import hashlib
from cryptography.fernet import Fernet
import os
def gerar_chave(senha: str) -> bytes:
"""Gera uma chave segura com base na senha"""
hash_senha = hashlib.sha256(senha.encode()).digest()
return base64.urlsafe_b64encode(hash_senha)
def criptografar_arquivo(caminho_arquivo: str, senha: str):
chave = gerar_chave(senha)
fernet = Fernet(chave)
with open(caminho_arquivo, 'r', encoding='utf-8') as file:
conteudo = file.read()
conteudo_criptografado = fernet.encrypt(conteudo.encode())
novo_caminho = caminho_arquivo.replace('.txt', '_criptografado.txt')
with open(novo_caminho, 'wb') as file:
file.write(conteudo_criptografado)
print(f"✅ Arquivo criptografado salvo como:\n{novo_caminho}")
# CAMINHO PARA SUA ÁREA DE TRABALHO (OneDrive)
usuario = os.getlogin()
caminho_arquivo = os.path.join(
"C:\\Users", usuario, "OneDrive", "Área de Trabalho", "testee.txt"
)
senha = "amandaN"
criptografar_arquivo(caminho_arquivo, senha)
Após a criptografia, python irá criar um arquivo chamado testee_criptografado e dentro deste novo arquivo contem a criptografia:
"gAAAAABoc-NET-yz-LdB0R7r5feJ_8HYe2HSiJPFOsSLXZZeSmgxEdF5uiIv4x_no077_3H-fFJDM6Ra27-fR7k9cijMl9_xoA=="
A partir de agora, o arquivo original, podemos descartar e manter apenas o novo arquivo criptografado e toda vez que precisarmos acessar, teremos que rodar o script abaixo contendo a senha que criei, senha = "amandaN".
🔓 Script python para descriptografar o arquivo txt chamado testee_criptografado.txt
import os
import base64
import hashlib
from cryptography.fernet import Fernet
def gerar_chave(senha: str) -> bytes:
"""Gera uma chave segura a partir da senha"""
hash_senha = hashlib.sha256(senha.encode()).digest()
return base64.urlsafe_b64encode(hash_senha)
def descriptografar_arquivo(caminho_arquivo: str, senha: str):
chave = gerar_chave(senha)
fernet = Fernet(chave)
with open(caminho_arquivo, 'rb') as file:
conteudo_criptografado = file.read()
try:
conteudo = fernet.decrypt(conteudo_criptografado).decode()
print("\n✅ Conteúdo descriptografado:\n")
print(conteudo)
except:
print("❌ Senha incorreta ou arquivo inválido.")
# Define o nome do usuário atual
usuario = os.getlogin()
# Caminho do arquivo criptografado
caminho_criptografado = os.path.join(
"C:\\Users", usuario, "OneDrive", "Área de Trabalho", "testee_criptografado.txt"
)
# Senha que foi usada na criptografia
senha = "amandaN"
# Executa a descriptografia
descriptografar_arquivo(caminho_criptografado, senha)
Como resultado, após executar o script acima, foi mostrado o conteúdo do arquivo original que é "teste Amanda". Desta forma, para acessar o arquivo tivemos que usar a senha que já esta inclusa no script.

Se substituirmos no script a senha amandaN por qualquer outra coisa, o conteúdo do arquivo não aparece, e python retorna: ❌ Senha incorreta ou arquivo inválido.