Почему PyCrypto требует компилятор C?

Есть ли скриптовая библиотека python, которая не полагается ни на что кроме python? Или предустановленные пакеты PyCrypto для Linux?

One Solution collect form web for “Почему PyCrypto требует компилятор C?”

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

Однако Python включает некоторые криптографические примитивы: модули hashlib и hmac предоставляют наиболее общие алгоритмы дайджеста (MD5, SHA-1, SHA-2) и соответствующие алгоритмы HMAC.

Кроме того, Python имеет встроенную арифметику с произвольной точностью, которая позволяет эффективно реализовывать некоторые асимметричные алгоритмы в чистом Python (по крайней мере, подписание и верификация, не обязательно генерация ключей). Python-RSA ( rsa ) – это чистая реализация Python RSA PKCS # 1 1.5.

Python не поставляется с любыми алгоритмами шифрования (в частности, AES), поскольку распространение кода шифрования юридически ограничено во многих частях мира. Официально рекомендуемая внешняя библиотека – PyCrypto .

Вы должны установить PyCrypto. Это было бы в стандартной библиотеке, если бы не юридические ограничения. Большинство дистрибутивов включает пакет Pycrypto. Если у вас нет (я не знаком с Levinux), вам нужно будет установить gcc. Если в вашем дистрибутиве отсутствует gcc (или система кросс-компиляции, чтобы легко компилировать пакеты в более полной системе), это не подходит для серьезной работы.

Interesting Posts

Не удается найти файл общих объектов, даже если он находится в пути к библиотеке

Первый щелчок на меню Linux Mint не открывает его

Cent OS 6.3 Скрытые файлы в оболочке

linux + написать синтаксис в visudo

Исходящее приложение брандмауэра, похожее на Little Snitch для Mac

Почему копирование занимает намного больше времени, чем время запроса DNS?

Соответствие шестнадцатеричных значений в выражении case

Что такое FTP Loopback в unix?

Как использовать аппаратный узел OpenVZ 7 для кеширования имен с помощью типов * all * контейнеров?

Получить установочный файл для уже установленного RPM

Трубопроводы выхода ls или дерева на меньшие потери цветов?

Как установить FreeBSD на Thinkpad?

Как предотвратить автоматизацию от перезагрузки INSTALL?

Остановите vim, вставляя выделение в виде текста!

Восстановление файлов с помощью testdisk перестает показывать рост данных и теперь просто отображает количество неудачных попыток ввода

Linux и Unix - лучшая ОС в мире.