Criptografar uma string Python
-
Use
Simple Crypt
para criptografar uma string em Python -
Use a biblioteca
cryptocode
para criptografar uma string em Python -
Use o pacote
Cryptography
para criptografar uma string em Python -
Use o algoritmo
RSA
para criptografar uma string em Python
A criptografia pode ser definida como o processo que transforma texto simples em texto cifrado. Essencialmente, é usado para codificar os dados. O processo de criptografia requer uma chave, que pode ser usada posteriormente para descriptografar a mensagem original.
Este artigo discutirá os diferentes métodos que você pode utilizar para criptografar uma string em Python.
Use Simple Crypt
para criptografar uma string em Python
Usar o módulo Simple Crypt
é a maneira mais rápida e simples de realizar o processo de criptografia para Python 2.7 e 3. Este método converte texto simples em texto cifrado em segundos, com a ajuda de uma única linha de código.
O módulo PyCrypto
fornece a implementação do algoritmo para esta biblioteca e utiliza a cifra AES256
. Este método incorpora uma verificação HMAC
com a cifra SHA256
para notificar quando o texto cifrado é alterado ou modificado.
Simple Crypt
tem duas funções:encrypt
e decrypt
. É essencial instalar os módulos pycrypto
e Simple Crypt
para usar ambas as funções.
O código a seguir usa simplecrypt
para criptografar uma string em Python:
from simplecrypt import encrypt, decrypt
passkey = "wow"
str1 = "I am okay"
cipher = encrypt(passkey, str1)
print(cipher)
A saída desse código seria um agrupamento de letras aleatórias.
Para decodificar / descriptografar o texto cifrado, usaremos o seguinte comando:
print(decrypt("wow", cipher))
Resultado:
I am okay
Use a biblioteca cryptocode
para criptografar uma string em Python
O termo cryptocode
é uma biblioteca simples que nos permite criptografar e descriptografar strings de forma segura e simples em Python 3 ou superior. Lembre-se de que esta biblioteca precisa ser instalada manualmente; isso pode ser feito usando o comando pip
.
O programa abaixo usa a biblioteca cryptocode
para criptografar uma string em 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)
Resultado:
I am okay
O primeiro parâmetro na função seria a string que precisa ser criptografada. O segundo parâmetro precisa ser a chave, que será usada para fins de descriptografia.
Use o pacote Cryptography
para criptografar uma string em Python
Cryptography
é um pacote Python que pode ser usado para obter criptografia de chave simétrica. A criptografia de chave simétrica é uma maneira pela qual usamos a mesma chave para o processo de codificação e decodificação.
A biblioteca Cryptography
precisa ser instalada para usar este método de criptografia; isso pode ser feito usando o comando pip
.
O código a seguir usa as funções de pacote cryptography
para criptografar uma string em 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)
Resultado:
The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay
No código acima, importamos Fernet
do módulo cryptography.fernet
. Em seguida, geramos uma chave de criptografia que será usada para fins de codificação e decodificação. A classe Fernet é instanciada com a chave de criptografia. A string é então criptografada com a instância Fernet. Finalmente, ele é descriptografado com a instância da classe Fernet.
A criptografia de chave simétrica é uma maneira fácil de criptografar uma string. A única desvantagem é que é comparativamente menos seguro. Qualquer pessoa com a chave pode ler o texto criptografado.
Use o algoritmo RSA
para criptografar uma string em Python
O algoritmo RSA
em Python implementa a criptografia de chave assimétrica. A criptografia de chave assimétrica usa duas chaves diferentes para o processo de criptografia e descriptografia.
Estas duas chaves são a chave privada e chave pública. A chave pública é pública e é usada para o processo de criptografia. Qualquer pessoa com a chave pública pode criptografar e enviar os dados; apenas o receptor tem a chave privada. Além disso, alguém com acesso a ele também pode descriptografar os dados.
A biblioteca rsa
precisa ser instalada primeiro para usar este método. Você pode usar o comando pip
geral para a instalação desta biblioteca.
O código a seguir usa o algoritmo RSA
para criptografar uma string em 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)
Resultado:
The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay
No código acima, o módulo rsa
é importado e as chaves públicas e privadas são geradas com a ajuda da função rsa.newkeys()
. Em seguida, a string é criptografada usando a chave pública. A string pode então ser descriptografada usando apenas a chave privada. As chaves pública e privada no caso deste programa são pubkey
e privkey
, respectivamente.
A criptografia de chave assimétrica oferece melhor segurança do que a criptografia de chave simétrica. Tal como no primeiro caso, uma chave privada específica apenas está acessível ao destinatário e é utilizada para efeitos de desencriptação. Considerando que existe apenas uma chave no último, tornando o processo de descriptografia mais fácil e menos seguro contra ataques de terceiros no meio do remetente e do destinatário.
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.
LinkedIn