Могу ли я зашифровать электронную почту и расшифровать ее обратно, используя набор библиотек python по умолчанию? - PullRequest
7 голосов
/ 30 апреля 2009

Конечно, подобные вопросы задавались в stackoverflow, но я не хочу использовать какую-либо стороннюю библиотеку, такую ​​как Crypto или что-то в этом роде. Поэтому мне нужно создать зашифрованный текст из электронного письма пользователя и расшифровать его обратно в открытый текст. Как я могу сделать это в Python?

Ответы [ 3 ]

4 голосов
/ 30 апреля 2009

Сторонняя система - ваш лучший выбор.
Если вы действительно не можете / не хотите использовать сторонние устройства, возможно, вам подойдет что-то простое.

Одним из более простых алгоритмов является Алгоритм крошечного шифрования (TEA). Вот пример реализации Python, с которой можно начать.

3 голосов
/ 30 апреля 2009

Да, вы можете. Читать http://www.amk.ca/python/code/crypto.html Там вы найдете ответ;)

Ваш вопрос недостаточно конкретен, чтобы сказать больше. Вы можете прочитать http://en.wikipedia.org/wiki/Cryptography#Modern_cryptography

Ура, Tuergeist

Обновление: Нет, ты не можешь. (со встроенной функциональностью из-за ограничений экспорта, см. http://docs.python.org/library/crypto.html) Но вы можете, если вы реализуете свой собственный алгоритм (плохая идея). Итак, лучшее решение - использовать расширение, рекомендованное разработчиками ядра Python. Смотри пост выше.

Ура снова.

1 голос
/ 02 мая 2009

Если вы имеете в виду, что вы хотите создать свою собственную систему шифрования, вы можете попробовать использовать встроенные модули hmac и hashlib. (hashlib является новым для 2.5, поэтому, если вы должны использовать более ранний Python, вы можете выбрать более старые хэш-модули md5 и sha.)

Если вы против (или не можете) установить стороннюю библиотеку, но можете использовать сторонние алгоритмы или даже "облегченные" сторонние реализации алгоритмов (например, опубликованный Python) исходный код, который находится в одном файле .py, который вы можете включить или импортировать самостоятельно, не используя setup.py или любую другую формальную установку), тогда я настоятельно рекомендую вам сделать это, потому что они, вероятно, будут лучше чем то, что вы можете придумать самостоятельно.

Самый маленький и удобный для пользователя из всех известных мне известен как p3 , написанный криптографом Полом Рубином. Исходная ссылка больше не активна, но вы можете найти ее. В настоящее время поиск в Google дает почти точную копию , а также адаптацию для Python 3 .

Вы также можете попробовать одну из нескольких одномодульных реализаций чистого Python Rijndael (AES) , таких как this или this . (Опять же, ссылки не гарантируются постоянными, поэтому вам, возможно, придется выполнить поиск.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...