Шифровать строку Python

  1. Используйте Simple Crypt для шифрования строки в Python
  2. Используйте библиотеку cryptocode для шифрования строки в Python
  3. Используйте пакет Cryptography для шифрования строки в Python
  4. Используйте алгоритм RSA для шифрования строки в Python

Шифрование можно определить как процесс преобразования обычного текста в зашифрованный текст. По сути, он используется для кодирования данных. Для процесса шифрования требуется ключ, который позже можно использовать для расшифровки исходного сообщения.

В этой статье будут обсуждаться различные методы, которые вы можете использовать для шифрования строки в Python.

Используйте Simple Crypt для шифрования строки в Python

Использование модуля Simple Crypt - это самый быстрый и простой способ добиться процесса шифрования для Python 2.7 и 3. Этот метод преобразует открытый текст в зашифрованный текст за секунды с помощью одной строчки кода.

Модуль PyCrypto предоставляет реализацию алгоритма для этой библиотеки и использует шифр AES256. Этот метод включает проверку HMAC с помощью шифра SHA256 для уведомления об изменении или модификации зашифрованного текста.

Simple Crypt имеет две функции: encrypt и decrypt. Чтобы использовать обе эти функции, необходимо установить модули pycrypto и simplecrypt.

Следующий код использует simplecrypt для шифрования строки в Python:

from simplecrypt import encrypt, decrypt
passkey = 'wow'
str1 = 'I am okay'
cipher = encrypt(passkey, str1)
print(cipher)

Результатом этого кода будет кластер случайных букв.

Для декодирования / дешифрования зашифрованного текста мы будем использовать следующую команду:

print(decrypt('wow', cipher))

Выход:

I am okay

Используйте библиотеку cryptocode для шифрования строки в Python

Термин cryptocode - это простая библиотека, которая позволяет нам безопасно и просто шифровать и расшифровывать строки в Python 3 или выше. Помните, что эту библиотеку необходимо установить вручную; это можно сделать с помощью команды pip.

Программа ниже использует библиотеку cryptocode для шифрования строки в 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)

Выход:

I am okay

Первым параметром функции будет строка, которую необходимо зашифровать. Второй параметр должен быть ключом, который будет использоваться для расшифровки.

Используйте пакет Cryptography для шифрования строки в Python

Cryptography - это пакет Python, который можно использовать для шифрования с симметричным ключом. Шифрование с симметричным ключом - это способ использования одного и того же ключа для процесса кодирования и декодирования.

Для использования этого метода шифрования необходимо установить библиотеку Cryptography; это можно сделать с помощью команды pip.

Следующий код использует функции пакета cryptography для шифрования строки в 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)

Выход:

The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay

В приведенном выше коде мы импортируем Fernet из модуля cryptography.fernet. Затем мы генерируем ключ шифрования, который будет использоваться как для кодирования, так и для целей декодирования. Экземпляр класса Fernet создается с ключом шифрования. Затем строка шифруется экземпляром Fernet. Наконец, он расшифровывается с помощью экземпляра класса Fernet.

Шифрование с симметричным ключом - это простой способ шифрования строки. Единственный недостаток в том, что он сравнительно менее безопасен. Любой, у кого есть ключ, может прочитать зашифрованный текст.

Используйте алгоритм RSA для шифрования строки в Python

Алгоритм RSA в Python реализует шифрование с асимметричным ключом. Шифрование с асимметричным ключом использует два разных ключа для процесса шифрования и дешифрования.

Эти два ключа - Закрытый ключ и Открытый ключ. Открытый ключ является открытым и используется в процессе шифрования. Любой, у кого есть открытый ключ, может зашифровать и отправить данные; закрытый ключ есть только у получателя. Кроме того, кто-то, имеющий к нему доступ, также может расшифровать данные.

Для использования этого метода сначала необходимо установить библиотеку rsa. Вы можете использовать общую команду pip для установки этой библиотеки.

Следующий код использует алгоритм RSA для шифрования строки в 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)

Выход:

The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay

В приведенном выше коде импортируется модуль rsa, а открытый и закрытый ключи генерируются с помощью функции rsa.newkeys(). Затем строка шифруется с помощью открытого ключа. Затем строку можно расшифровать, используя только закрытый ключ. Открытый и закрытый ключи в этой программе - pubkey и privkey соответственно.

Шифрование с асимметричным ключом обеспечивает лучшую безопасность, чем шифрование с симметричным ключом. Как и в первом случае, конкретный закрытый ключ доступен только получателю и используется для дешифрования. В то время как в последнем существует только один ключ, что делает процесс дешифрования более простым и менее защищенным от атак третьих лиц в середине между отправителем и получателем.

Сопутствующая статья - Python String

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3
  • Сопутствующая статья - Python Encryption

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3