top of page

Criptografar arquivo txt

  • Foto do escritor: Amanda Nascimento
    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.

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page