#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 приветствую, я отметил это в ответе.