Зашифровать строку в Python - PullRequest
3 голосов
/ 28 сентября 2010

Мне нужно зашифровать небольшую строку в Python. Можно ли использовать секретный ключ для шифрования строки? Есть ли хороший способ сделать это и достичь разумного уровня шифрования, используя только библиотеки Python? Не могли бы вы показать мне, как это сделать?

Мои знания о криптографии довольно просты.

Ответы [ 4 ]

2 голосов
/ 28 сентября 2010

KeyCzar имеет приятный интерфейс и должен соответствовать вашим требованиям.С домашней страницы:

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

crypter = Crypter.Read("/path/to/your/keys")
ciphertext = crypter.Encrypt("Secret message")
2 голосов
/ 08 октября 2010

Я решил это с помощью облегченной библиотеки XTEA , которую я нашел в ASPN.Он не требует каких-либо дополнительных библиотек Python и довольно прост в реализации, достигая разумного уровня шифрования.

2 голосов
/ 28 сентября 2010

Взгляните на py-bcrypt . Возможно, это будет соответствовать вашим потребностям. С веб-сайта:

py-bcrypt - это оболочка Python для хеширования пароля в Blowfish от OpenBSD, как описано в Niels Provos и David Mazières, «Адаптируемая в будущем схема паролей»

0 голосов
/ 16 февраля 2016

Я недавно создал фрагмент кода, который в значительной степени соответствует вашим словам. Он берет кодовое слово, такое как 'abc', получает значения (1, 2, 3) и затем добавляет их к каждой букве в слове для шифрования. Так что если «abc» было кодовым словом, а «bcd» - текстом для шифрования. (1 + 2 = 3 2 + 3 = 5 и 3 + 4 = 7), поэтому на выходе будет «ceg»

codeword = input('Enter codeword : ')
codeword = codeword.replace(" ", "")  

encrypt = input('Enter text to encrypt : ')
encrypt = encrypt.replace(" ", "")

j = 0
for i in codeword:
    print(chr(ord(encrypt[j])+ ord(codeword[j])-96))
    j+=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...