Crypter une chaîne Python
-
Utilisez
Simple Crypt
pour crypter une chaîne en Python -
Utiliser la bibliothèque
cryptocode
pour crypter une chaîne en Python -
Utiliser le package
Cryptography
pour crypter une chaîne en Python -
Utiliser l’algorithme
RSA
pour chiffrer une chaîne en Python
Le cryptage peut être défini comme le processus qui transforme le texte brut en texte chiffré. Essentiellement, il est utilisé pour coder les données. Le processus de chiffrement nécessite une clé, qui peut ensuite être utilisée pour déchiffrer le message d’origine.
Cet article discutera des différentes méthodes que vous pouvez utiliser pour chiffrer une chaîne en Python.
Utilisez Simple Crypt
pour crypter une chaîne en Python
L’utilisation du module Simple Crypt
est le moyen le plus rapide et le plus simple de réaliser le processus de cryptage pour Python 2.7 et 3. Cette méthode convertit le texte brut en texte chiffré en quelques secondes, à l’aide d’une seule ligne de code.
Le module PyCrypto
fournit l’implémentation de l’algorithme pour cette bibliothèque, et il utilise le chiffrement AES256
. Cette méthode intègre une vérification HMAC
avec le chiffrement SHA256
pour notifier lorsque le texte chiffré est altéré ou modifié.
Simple Crypt
a deux fonctions : encrypt
et decrypt
. Il est essentiel d’installer les modules pycrypto
et simplecrypt
pour utiliser ces deux fonctions.
Le code suivant utilise simplecrypt
pour crypter une chaîne en Python :
from simplecrypt import encrypt, decrypt
passkey = "wow"
str1 = "I am okay"
cipher = encrypt(passkey, str1)
print(cipher)
La sortie de ce code serait un groupe de lettres aléatoires.
Pour décoder/déchiffrer le texte chiffré, nous utiliserons la commande suivante :
print(decrypt("wow", cipher))
Production:
I am okay
Utiliser la bibliothèque cryptocode
pour crypter une chaîne en Python
Le terme cryptocode
est une bibliothèque simple qui nous permet de crypter et de décrypter des chaînes de manière sécurisée et simple en Python 3 ou supérieur. N’oubliez pas que cette bibliothèque doit être installée manuellement ; cela peut être fait à l’aide de la commande pip
.
Le programme ci-dessous utilise la bibliothèque cryptocode
pour crypter une chaîne en 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)
Production:
I am okay
Le premier paramètre de la fonction serait la chaîne qui doit être chiffrée. Le deuxième paramètre doit être la clé, qui sera utilisée à des fins de déchiffrement.
Utiliser le package Cryptography
pour crypter une chaîne en Python
Cryptography
est un package Python qui peut être utilisé pour réaliser un cryptage à clé symétrique. Le chiffrement à clé symétrique est un moyen par lequel nous utilisons la même clé pour le processus d’encodage et de décodage.
La bibliothèque Cryptography
doit être installée afin d’utiliser cette méthode de cryptage ; cela peut être fait en utilisant la commande pip
.
Le code suivant utilise les fonctions du package cryptography
pour chiffrer une chaîne en 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)
Production:
The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay
Dans le code ci-dessus, nous importons Fernet
depuis le module cryptography.fernet
. Ensuite, nous générons une clé de cryptage qui sera utilisée à la fois à des fins d’encodage et de décodage. La classe Fernet est instanciée avec la clé de chiffrement. La chaîne est ensuite chiffrée avec l’instance Fernet. Enfin, il est déchiffré avec l’instance de classe Fernet.
Le chiffrement à clé symétrique est un moyen simple de chiffrer une chaîne. Le seul inconvénient est qu’il est relativement moins sécurisé. Toute personne possédant la clé peut lire le texte crypté.
Utiliser l’algorithme RSA
pour chiffrer une chaîne en Python
L’algorithme RSA
en Python implémente le chiffrement à clé asymétrique. Le chiffrement à clé asymétrique utilise deux clés différentes pour le processus de chiffrement et de déchiffrement.
Ces deux clés sont la clé privée et la clé publique. La clé publique est publique et est utilisée pour le processus de cryptage. Toute personne disposant de la clé publique peut crypter et envoyer les données ; seul le destinataire possède la clé privée. De plus, une personne qui y a accès peut également déchiffrer les données.
La bibliothèque rsa
doit d’abord être installée pour utiliser cette méthode. Vous pouvez utiliser la commande générale pip
pour l’installation de cette librairie.
Le code suivant utilise l’algorithme RSA
pour chiffrer une chaîne en 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)
Production:
The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay
Dans le code ci-dessus, le module rsa
est importé, et les clés publiques et privées sont générées à l’aide de la fonction rsa.newkeys()
. Ensuite, la chaîne est chiffrée à l’aide de la clé publique. La chaîne peut ensuite être déchiffrée en utilisant uniquement la clé privée. Les clés publiques et privées dans le cas de ce programme sont respectivement pubkey
et privkey
.
Le chiffrement à clé asymétrique offre une meilleure sécurité que le chiffrement à clé symétrique. Comme dans le premier cas, une clé privée spécifique n’est accessible qu’au récepteur et est utilisée à des fins de décryptage. Alors qu’il n’existe qu’une seule clé dans ce dernier, ce qui rend le processus de déchiffrement plus facile et moins sécurisé contre les attaques des tiers entre l’expéditeur et le destinataire.
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.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python