Sommario:
- Passaggio 1: scrittura del file di installazione
- Passaggio 2: il file di crittografia/decrittografia
- Passaggio 3: funzionamento dei file
Video: Software di crittografia/decrittografia di sicurezza Python: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
In questo Instructable ti mostrerò come con un semplice Python, puoi proteggere i tuoi file usando lo standard AES del settore.
Requisiti:
- Python 3.7
- Libreria PyAesCrypt
- libreria hashlib
Se non disponi di queste librerie, puoi installarle facilmente digitando:
pip3 installa hashlib
pip3 installa PyAesCrypt
nel terminale (o CMD)
Dovresti già avere questi:
- libreria casuale
- libreria del sistema operativo
- libreria di sistema
Sto usando OS X, ma non dovrebbe importare troppo, ad eccezione della direzione delle barre nei percorsi dei file (OS X: /, Windows:)
Nota: a causa di alcuni problemi tecnici, i rientri nel codice non vengono visualizzati per qualche motivo. Di conseguenza non ci saranno rientri nel codice visualizzato, tuttavia sono presenti nei file Python che ho allegato alla fine e nelle immagini allegate. Basta non prendere il codice direttamente dal testo visualizzato, perché non funzionerà a causa della mancanza di rientri
Se hai installato tutte le dipendenze, passiamo al passaggio 1.
Passaggio 1: scrittura del file di installazione
Uno dei fattori che lo rende così sicuro è l'uso di hash per controllare la password. Il file di installazione (che chiamo il mio setupsafe.py) sta per:
- Crea una cartella e file fittizi per la password
- Imposta la password
- Imposta il numero del file
- Hash la password
Prima di tutto, importeremo le nostre dipendenze:
da sys import *
importare il sistema operativo
importa casuale
importa hashlib
Successivamente creeremo una cartella per ospitare l'hash della password e i file fittizi:
prova: se non os.path.exists('desktop/safesetup'):
os.mkdir('desktop/safesetup/')
tranne OSErrore:
print("Errore durante la creazione della cartella")
Questo codice creerà una cartella chiamata safesetup (a meno che non esista già).
Dopodiché, imposteremo la password e genereremo un numero casuale compreso tra 1 e 100 per navigare tra i file fittizi:
password globale password = argv[1].encode('utf-8')
n = random.randint(1, 101)
Ora che abbiamo la nostra password e il nostro numero di file, creeremo 99 file fittizi all'interno di safesetup e un file reale che conterrà il nostro hash della password:
for x in range(101): if(x != n):
f = open(("desktop/safesetup/"+str(x)), "w+")
f.chiudi()
altro:
password = hashlib.sha256(password).hexdigest()
f = open(("desktop/safesetup/"+str(x)), "w+")
f.write(password)
f.chiudi()
stampa(n)
Il file reale si chiama qualunque sia l'intero n. Questo file contiene la nostra password, dopo essere stata hash utilizzando l'algoritmo sha256 (questo algoritmo hash è ampiamente utilizzato nelle criptovalute, in particolare Bitcoin).
Ricorda cos'è n (verrà stampato nella console), poiché è importante quanto la password.
Questo è tutto ciò di cui abbiamo bisogno per il nostro programma di installazione, quindi ora passeremo al programma di crittografia/decrittografia.
Passaggio 2: il file di crittografia/decrittografia
La sezione di configurazione del file principale importa le dipendenze, esegue l'hash della password immessa e recupera l'hash della password reale utilizzando il numero di file immesso.
Innanzitutto, le dipendenze:
da sys import *import os
import pyAesCrypt
importa hashlib
Successivamente, l'hashing della password immessa:
password = argv[1].encode('utf-8')password = hashlib.sha256(password).hexdigest()
Infine, il recupero della password con hash:
file_key = str(argv[2])hash = open(("desktop/safesetup/" + file_key), ("r+")).read()
La seconda sezione del file di crittografia confronta gli hash, determina la verità del confronto e utilizza la libreria python AESCrypt per crittografare o decrittografare il file preferito. Questo è un pezzo di codice piuttosto grande, ma lo analizzerò:
if(password == hash): print("Password accettata")
dimensione del buffer = 64 * 1024
operazione = str(input("Stai recuperando o crittografando i file? (r o e) "))
if(operazione == 'r'):
nome_file = str(input("File da recuperare: "))
pyAesCrypt.decryptFile((file_name + ".aes"), file_name, password, bufferSize)
os.remove((nome_file + ".aes"))
elif(operazione == 'e'):
nome_file = str(input("File da crittografare: "))
pyAesCrypt.encryptFile(file_name, (file_name + ".aes"), password, bufferSize)
os.remove(nome_file)
altro:
print("Errore: inserimento errato")
altro:
print("Accesso negato")
La prima istruzione if determina se le password con hash corrispondono. Se lo fanno, continua a chiedere se si desidera crittografare i file o recuperare i file crittografati. A seconda dell'input, verrà crittografato o decrittografato il file fornito. Quando viene richiesto di fornire il nome del file, assicurarsi di specificare il percorso a meno che il file non si trovi nella stessa directory del programma Python. Il programma elimina il file nel suo stato precedente, sostituendolo con un file.aes crittografato o decrittografandolo e sostituendolo con il file originale.
In futuro, potrei aggiornarlo per includere il riconoscimento facciale utilizzando la libreria Python OpenCV, ma per ora le password dovranno essere sufficienti.
Passaggio 3: funzionamento dei file
Per eseguire il file di installazione, segui questi passaggi:
1. Digitare nel terminale:
python3 directory/setupname.py password (sostituendo directory, setupname e password con i rispettivi valori)
2. Il terminale emetterà il tuo numero di file. Tieni questo.
Per eseguire il programma di crittografia/decrittografia, attenersi alla seguente procedura:
1. Digitare nel terminale:
python3 directory/filename.py password filenumber (sostituisce directory, filename, password e filenumber con i rispettivi valori)
2. Il terminale accetterà o rifiuterà la password. Se rifiutato, riprova e assicurati di digitare i valori corretti. Una volta concesso l'accesso, il terminale ti chiederà se desideri crittografare un file o recuperare un file. Per crittografare un file, digitare e e per recuperare un file crittografato, digitare r.
3. Ti verrà quindi chiesto di fornire il nome del file. Ricordati di fornire la directory del file, il nome e anche l'estensione del file. Tuttavia, se stai decrittografando un file, non digitare la parte.aes dell'estensione, poiché il codice ne tiene conto.
4. Il programma quindi crittografa o decrittografa il file fornito ed elimina il file nel suo stato precedente (mantenendo il file crittografato o decrittografato).
Ecco! Grazie per essere arrivato fino a questo punto nell'istruzione, so che leggere i tutorial sul codice non è la cosa più divertente. I file Python sono racchiusi in questo passaggio, per quelli di voi che vogliono provare. Ancora una volta, grazie per aver letto, e ti auguro buona fortuna per i tuoi futuri sforzi di codifica.
Consigliato:
Come scaricare software gratuito come studente ISU (Microsoft, Adobe e software di sicurezza: 24 passaggi)
Come scaricare software gratuito come studente ISU (Microsoft, Adobe e software di sicurezza: per Adobe: vai al passaggio 1. Per Microsoft: vai al passaggio 8. Per sicurezza: vai al passaggio 12. Per Azure: vai al passaggio 16
Pulsante di sicurezza wireless per la sicurezza del PLC: 6 passaggi (con immagini)
Pulsante di sicurezza wireless per la sicurezza del PLC: questo progetto è la mia prova di concetto per l'utilizzo dell'IoT e (eventualmente) della robotica per creare un ulteriore livello di sicurezza per gli impianti di produzione pericolosi. Questo pulsante può essere utilizzato per avviare o arrestare più processi, incluso il controllo del segnale
Sistema di sicurezza per la sicurezza delle donne One Touch: 3 passaggi
Sistema di sicurezza per la sicurezza delle donne One Touch: sistema di sicurezza per le donne con allarme One Touch che utilizza il micro controller 8051 Nel mondo di oggi la sicurezza delle donne è la questione più importante in ogni paese. Oggi le donne sono molestate e turbate e talvolta quando è necessario un aiuto urgente. Non ci sono posizioni obbligatorie
Crittografia di un'unità USB: 7 passaggi
Crittografia di un'unità USB: ti guiderò attraverso i passaggi necessari per crittografare un'unità USB utilizzando lo strumento di crittografia gratuito TrueCrypt. In questo tutorial, userò un sistema Windows XP come esempio, ma TrueCrypt funzionerà anche su Linux e OS X
Converti una vecchia memory stick in una banca dati con crittografia di livello governativo: 4 passaggi
Converti una vecchia memory stick in una banca dati con crittografia di livello governativo: hai una vecchia memory stick? Hai file importanti che devi proteggere? Scopri come proteggere i tuoi file meglio di un semplice archivio RAR con password; perché in questa età moderna, chiunque abbia un buon PC può decifrarlo in meno di un giorno. Sto usando una memoria da 32 MB