Cripta una stringa Python
-
Usa
Simple Crypt
per crittografare una stringa in Python -
Usa la libreria
cryptocode
per crittografare una stringa in Python -
Usa il pacchetto
Cryptography
per crittografare una stringa in Python -
Usa l’algoritmo
RSA
per crittografare una stringa in Python
La crittografia può essere definita come il processo che trasforma il testo normale in testo cifrato. Essenzialmente, è usato per codificare i dati. Il processo di crittografia richiede una chiave, che può essere utilizzata in seguito per decrittografare il messaggio originale.
Questo articolo discuterà i diversi metodi che puoi utilizzare per crittografare una stringa in Python.
Usa Simple Crypt
per crittografare una stringa in Python
L’utilizzo del modulo Simple Crypt
è il modo più rapido e semplice per ottenere il processo di crittografia per Python 2.7 e 3. Questo metodo converte il testo in chiaro in un testo cifrato in pochi secondi, con l’aiuto di una singola riga di codice.
Il modulo PyCrypto
fornisce l’implementazione dell’algoritmo per questa libreria e utilizza il cifrario AES256
. Questo metodo incorpora un controllo HMAC
con il cifrario SHA256
per notificare quando il testo cifrato viene alterato o modificato.
Simple Crypt
ha due funzioni: encrypt
e decrypt
. È essenziale installare entrambi i moduli pycrypto
e simplecrypt
per utilizzare entrambe queste funzioni.
Il codice seguente usa simplecrypt
per crittografare una stringa in Python:
from simplecrypt import encrypt, decrypt
passkey = "wow"
str1 = "I am okay"
cipher = encrypt(passkey, str1)
print(cipher)
L’output di questo codice sarebbe un gruppo di lettere casuali.
Per decodificare/decrittografare il testo cifrato, utilizzeremo il seguente comando:
print(decrypt("wow", cipher))
Produzione:
I am okay
Usa la libreria cryptocode
per crittografare una stringa in Python
Il termine cryptocode
è una semplice libreria che ci consente di crittografare e decrittografare le stringhe in modo sicuro e semplice in Python 3 o versioni successive. Ricorda che questa libreria deve essere installata manualmente; può essere fatto usando il comando pip
.
Il programma seguente utilizza la libreria cryptocode
per crittografare una stringa in Python:
import cryptocode
str_encoded = cryptocode.encrypt("I am okay", "wow")
# And then to decode it:
str_decoded = cryptocode.decrypt(str_encoded, "wow")
print(str_decoded)
Produzione:
I am okay
Il primo parametro nella funzione sarebbe la stringa che deve essere crittografata. Il secondo parametro deve essere la chiave, che verrà utilizzata per la decrittazione.
Usa il pacchetto Cryptography
per crittografare una stringa in Python
Cryptography
è un pacchetto Python che può essere utilizzato per ottenere la crittografia a chiave simmetrica. La crittografia a chiave simmetrica è un modo in cui utilizziamo la stessa chiave per il processo di codifica e decodifica.
La libreria Cryptography
deve essere installata per poter utilizzare questo metodo di crittografia; questo può essere fatto usando il comando pip
.
Il codice seguente utilizza le funzioni del pacchetto cryptography
per crittografare una stringa in Python:
from cryptography.fernet import Fernet
str1 = "I am okay"
key = Fernet.generate_key()
fernet = Fernet(key)
enctex = fernet.encrypt(str1.encode())
dectex = fernet.decrypt(enctex).decode()
print("The primordial string: ", str1)
print("The Encrypted message: ", enctex)
print("The Decrypted message: ", dectex)
Produzione:
The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay
Nel codice sopra, importiamo Fernet
dal modulo cryptography.fernet
. Quindi, generiamo una chiave di crittografia che verrà utilizzata sia per la codifica che per la decodifica. La classe Fernet viene istanziata con la chiave di crittografia. La stringa viene quindi crittografata con l’istanza Fernet. Infine, viene decifrato con l’istanza della classe Fernet.
La crittografia a chiave simmetrica è un modo semplice per crittografare una stringa. L’unico inconveniente è che è relativamente meno sicuro. Chiunque disponga della chiave può leggere il testo crittografato.
Usa l’algoritmo RSA
per crittografare una stringa in Python
L’algoritmo RSA
in Python implementa la crittografia a chiave asimmetrica. La crittografia a chiave asimmetrica utilizza due chiavi diverse per il processo di crittografia e decrittografia.
Queste due chiavi sono la chiave privata e la chiave pubblica. La chiave pubblica è pubblica e viene utilizzata per il processo di crittografia. Chiunque disponga della chiave pubblica può crittografare e inviare i dati; solo il destinatario ha la chiave privata. Inoltre, qualcuno con accesso ad esso può anche decrittografare i dati.
La libreria rsa
deve essere prima installata per utilizzare questo metodo. È possibile utilizzare il comando generale pip
per l’installazione di questa libreria.
Il codice seguente utilizza l’algoritmo RSA
per crittografare una stringa in Python:
import rsa
pubkey, privkey = rsa.newkeys(512)
str1 = "I am okay"
enctex = rsa.encrypt(str1.encode(), pubkey)
dectex = rsa.decrypt(enctex, privkey).decode()
print("The primordial string: ", str1)
print("The Encrypted message: ", enctex)
print("The Decrypted message: ", dectex)
Produzione:
The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay
Nel codice sopra, viene importato il modulo rsa
e le chiavi pubblica e privata vengono generate con l’aiuto della funzione rsa.newkeys()
. Quindi, la stringa viene crittografata utilizzando la chiave pubblica. La stringa può quindi essere decifrata utilizzando solo la chiave privata. Le chiavi pubbliche e private nel caso di questo programma sono rispettivamente pubkey
e privkey
.
La crittografia a chiave asimmetrica offre una sicurezza migliore rispetto alla crittografia a chiave simmetrica. Come nel primo, una specifica chiave privata è accessibile solo al destinatario e viene utilizzata a scopo di decrittazione. Considerando che esiste solo una chiave in quest’ultimo, rendendo il processo di decrittazione più facile e meno sicuro da attacchi da parte di terzi nel mezzo del mittente e del destinatario.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedInArticolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3