В чем разница между пакетами pycrypto и crypto в python?

#python #flask #encryption #cryptography #pycrypto

#python #flask #шифрование #криптография #pycrypto

Вопрос:

Я новичок в шифровании и хешировании в python. Мне это нужно для аутентификации в одном из моих проектов flask. Итак, мой друг сказал мне использовать crypto package, но когда я искал его, в результате я получил пакеты crypto и pycrypto. Дело в том, что я знаю, что оба они предназначены для утилиты шифрования, но я не понимаю, какой из них использовать. Один из них лучше другого или один из них просто оболочка другого?

Или

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

Комментарии:

1. Просто взглянув на документацию по использованию в ваших ссылках, pycrypto выглядит как библиотека, а crypto — как утилита CLI.

2. простите, если вопрос тривиален, но тогда почему у него есть pypi.org страница, посвященная криптопакету .

3. Ничто не мешает pypi размещать программы CLI. Для программ CLI, написанных на Python, это упрощает распространение. awscli — еще один пример CLI-программы на pypi (и один из самых загружаемых на сайте)

Ответ №1:

Эти два пакета служат совершенно разным целям: crypto это утилита командной строки, предназначенная для шифрования файлов, и pycrypto библиотека Python, которую можно использовать из Python для выполнения ряда различных криптографических операций (хеширование, шифрование / дешифрование и т. Д.). pycrypto было бы более подходящим выбором для реализации аутентификации в Python.

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

Редактировать: как было отмечено в комментариях, pycrypto больше не поддерживается, и cryptography вместо этого следует использовать библиотеку, такую как pycryptodome or.

Комментарии:

1. простите, если вопрос тривиален, но тогда почему у него есть pypi.org страница, посвященная криптопакету . Я подумал pypi.org размещенные пакеты для python, а не утилиты CLI.

2. @SarathSajan Совсем не тривиальный вопрос 🙂 комментарий Джордана к вашему первоначальному сообщению ответил на это, но я также укажу вам на документацию setuptools , в которой показано, как это реализовано. Ожидаемым поведением является возможность установки инструментов командной строки с помощью pip (и, следовательно, с помощью setuptools).

3. Что касается pycrypto , следует добавить, что эта библиотека является устаревшей ( здесь ), больше не поддерживается и не должна использоваться. Преемником является pycryptodome .

4. @Topaco приветствую, я отметил это в ответе.