Índice:
- Etapa 1: Gravando o arquivo de configuração
- Etapa 2: o arquivo de criptografia / descriptografia
- Etapa 3: Operação de arquivos
Vídeo: Software de criptografia / descriptografia de segurança Python: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Neste Instructable, mostrarei como, com alguns Python simples, você pode manter seus arquivos seguros usando AES padrão da indústria.
Requisitos:
- Python 3.7
- Biblioteca PyAesCrypt
- biblioteca hashlib
Se você não tiver essas bibliotecas, poderá instalar facilmente digitando:
pip3 install hashlib
pip3 instalar PyAesCrypt
no terminal (ou CMD)
Você já deve ter estes:
- biblioteca aleatória
- biblioteca de sistemas operacionais
- biblioteca do sistema
Estou usando o OS X, mas não deve importar muito, exceto pela direção das barras nos caminhos dos arquivos (OS X: /, Windows:)
Observação: devido a alguma falha, as indentações no código não aparecem por algum motivo. Consequentemente, não haverá recuos no código exibido, no entanto, eles estão presentes nos arquivos Python que anexei no final e nas imagens incluídas. Só não pegue o código diretamente do texto exibido, pois não funcionará devido à falta de indentações
Se você tiver todas as dependências instaladas, vamos prosseguir para a Etapa 1.
Etapa 1: Gravando o arquivo de configuração
Um dos fatores que tornam isso tão seguro é o uso de hashes para verificar a senha. O arquivo de configuração (estou chamando meu setupsafe.py) vai:
- Crie uma pasta e arquivos fictícios para a senha
- Defina a senha
- Defina o número do arquivo
- Hash a senha
Primeiro, vamos importar nossas dependências:
da importação sys *
importar os
importar aleatório
importar hashlib
Em seguida, criaremos uma pasta para armazenar o hash da senha e os arquivos fictícios:
tente: se não os.path.exists ('desktop / safesetup'):
os.mkdir ('desktop / safesetup /')
exceto OSError:
imprimir ("Erro ao criar pasta")
Este código criará uma pasta chamada safesetup (a menos que já exista).
Depois disso, vamos definir a senha e gerar um número aleatório entre 1 e 100 como nossa forma de navegar pelos arquivos fictícios:
global passwordpassword = argv [1].encode ('utf-8')
n = random.randint (1, 101)
Agora que temos nossa senha e nosso número de arquivo, vamos criar 99 arquivos fictícios dentro do safesetup e um arquivo real que conterá nosso hash de senha:
para x no intervalo (101): if (x! = n):
f = open (("desktop / safesetup /" + str (x)), "w +")
f.close ()
outro:
senha = hashlib.sha256 (senha).hexdigest ()
f = open (("desktop / safesetup /" + str (x)), "w +")
f.write (senha)
f.close ()
imprimir (n)
O arquivo real é chamado de qualquer número inteiro n. Este arquivo contém nossa senha, depois de ser hash usando o algoritmo sha256 (este algoritmo hash é amplamente usado em criptomoedas, mais notavelmente Bitcoin).
Lembre-se do que é n (será impresso no console), pois é tão importante quanto a senha.
Isso é tudo de que precisamos para nosso programa de configuração, portanto, vamos agora passar para o programa de criptografia / descriptografia.
Etapa 2: o arquivo de criptografia / descriptografia
A seção de configuração do arquivo principal importa as dependências, faz o hash da senha inserida e recupera o hash da senha real usando o número do arquivo inserido.
Primeiro, as dependências:
from sys import * import os
import pyAesCrypt
importar hashlib
Em seguida, o hash da senha inserida:
senha = argv [1].encode ('utf-8') senha = hashlib.sha256 (senha).hexdigest ()
Finalmente, a recuperação da senha com hash:
file_key = str (argv [2]) hash = open (("desktop / safesetup /" + file_key), ("r +")). read ()
A segunda seção do arquivo de criptografia compara os hashes, determina a veracidade da comparação e usa a biblioteca Python AESCrypt para criptografar ou descriptografar o arquivo de sua escolha. Este é um pedaço de código bastante grande, mas vou decompô-lo:
if (senha == hash): print ("Senha aceita")
bufferSize = 64 * 1024
operation = str (input ("Você está recuperando ou criptografando arquivos? (r ou e)"))
if (operação == 'r'):
file_name = str (input ("Arquivo a ser recuperado:"))
pyAesCrypt.decryptFile ((file_name + ".aes"), file_name, password, bufferSize)
os.remove ((file_name + ".aes"))
elif (operação == 'e'):
file_name = str (input ("Arquivo para criptografar:"))
pyAesCrypt.encryptFile (file_name, (file_name + ".aes"), senha, bufferSize)
os.remove (file_name)
outro:
imprimir ("Erro: entrada incorreta")
outro:
imprimir ("Acesso negado")
A primeira instrução if determina se as senhas com hash correspondem. Em caso afirmativo, ele pergunta se você deseja criptografar arquivos ou recuperar arquivos criptografados. Dependendo da sua entrada, ele irá criptografar ou descriptografar o arquivo fornecido. Quando solicitado a fornecer o nome do arquivo, certifique-se de especificar o caminho, a menos que o arquivo esteja no mesmo diretório do programa python. O programa exclui o arquivo em seu estado anterior, substituindo-o por um arquivo.aes criptografado ou descriptografando-o e substituindo-o pelo arquivo original.
No futuro, posso atualizar isso para incluir o reconhecimento facial usando a biblioteca Python OpenCV, mas por enquanto as senhas terão que ser suficientes.
Etapa 3: Operação de arquivos
Para executar o arquivo de instalação, siga estas etapas:
1. Digite o terminal:
diretório python3 / setupname.py senha (substituindo diretório, setupname e senha com seus respectivos valores)
2. O terminal exibirá o número do seu arquivo. Mantenha isso.
Para executar o programa de criptografia / descriptografia, siga estas etapas:
1. Digite o terminal:
python3 directory / filename.py password filenumber (substituindo diretório, nome de arquivo, senha e filenumber por seus respectivos valores)
2. O terminal irá então aceitar ou rejeitar sua senha. Se rejeitado, tente novamente e certifique-se de digitar os valores corretos. Assim que o acesso for concedido, o terminal perguntará se você deseja criptografar ou recuperar um arquivo. Para criptografar um arquivo, digite e, e para recuperar um arquivo criptografado, digite r.
3. Será solicitado que você forneça o nome do arquivo. Lembre-se de fornecer o diretório do arquivo, bem como o nome, e também a extensão do arquivo. No entanto, se você estiver descriptografando um arquivo, não digite a parte.aes da extensão, pois o código é responsável por isso.
4. O programa então criptografa ou descriptografa o arquivo fornecido e exclui o arquivo em seu estado anterior (mantendo o arquivo criptografado ou descriptografado).
Voila! Obrigado por chegar tão longe no instrutível, eu sei que ler tutoriais de código não é a coisa mais divertida. Os arquivos python estão incluídos nesta etapa, para aqueles que desejam experimentar. Mais uma vez, obrigado pela leitura e desejo-lhe boa sorte em seus esforços futuros de codificação.
Recomendado:
Como fazer download de software gratuito como um estudante ISU (Microsoft, Adobe e software de segurança: 24 etapas
Como baixar o software livre como um aluno ISU (Microsoft, Adobe e software de segurança: Para Adobe: vá para a etapa 1. Para a Microsoft: vá para a etapa 8. Para segurança: vá para a etapa 12. Para Azure: vá para a etapa 16
Criptografia semelhante a Bitcoin em execução no Raspberry Pi: 5 etapas
Criptografia semelhante a Bitcoin em execução no Raspberry Pi: instruções para executar um nó. O sistema operacional US-OS é feito de raspbian executando o pacote us-cryptoplatform. Você não precisa pedir permissão para ingressar. Basta seguir estas instruções simples e execute um nó ganhando criptomoeda a cada minuto
PC de mineração de criptografia faça você mesmo (ETH, XMR, ZEC): 4 etapas (com imagens)
DIY Crypto Mining PC (ETH, XMR, ZEC): Este guia vai mostrar como construir você mesmo uma plataforma Ethereum Mining, que tem duas etapas principais - escolher e fornecer seu equipamento e, em seguida, montá-lo! Dependendo dos horários, provavelmente vai demorar uma semana ou mais para obter todos os
Converta um Memory Stick antigo em um banco de dados com criptografia de nível governamental: 4 etapas
Converta um cartão de memória antigo em um banco de dados com criptografia de nível governamental: Você tem um cartão de memória antigo? Tem arquivos valiosos que você precisa proteger? Descubra como proteger seus arquivos melhor do que um simples arquivo RAR com senha; porque nesta era moderna, qualquer pessoa com um bom PC pode decifrá-lo em menos de um dia. Estou usando uma memória de 32 MB
Senha de uma unidade USB sem criptografia com um arquivo de lote: 8 etapas
Senha de uma unidade USB sem criptografia com um arquivo em lote: um programa que não permitirá que um usuário em uma unidade sem senha e mostrará um arquivo do proprietário que você pode alterar à vontade; isso mostrará como usar o programa que fiz com facilidade