crypto
crypto requires the Gnu Privacy Guard executable ( gpg ).
Mac OSX GPG Install
Mac OSX users can install gpg with Homebrew
$ brew install gpg
with the Mac GPG Tools Suite installer, or by compiling and installing from the source.
You can install either the ‘classic’ (v1.x) or ‘modern’ (v2.x) versions of gpg. If your install uses the executable gpg2 rather than gpg , please create the following alias:
alias gpg="gpg2"
Confirm your install by typing:
$ gpg --version
The installed gpg version should be displayed.
Linux GPG Install
If gpg is not installed on your Linux distro, you can install it with your package manager or download, compile, and install from the source.
You can install either the ‘classic’ (v1.x) or ‘modern’ (v2.x) versions of gpg. If your install uses the executable gpg2 rather than gpg , please create the following alias:
alias gpg="gpg2"
Confirm your install by typing:
$ gpg --version
The installed gpg version should be displayed.
Step 2: Install crypto
You can install crypto with the Python package manager pip:
pip install crypto
or download the source, unpack it, navigate to the top level source directory and run:
python setup.py install
ModuleNotFoundError: No module named crypto
Вы получаете эту ошибку, так как пытаетесь импортировать модуль crypto, но он не был установлен в Вашем python окружении.
Чтобы установить модуль, напишите в терминале:
pip install crypto
Чтобы установить модуль в интерактивной среде инструментов Google Colab, Kaggle/Jupyter Notebook или ipython, запустите такую ячейку/строчку:
!pip install crypto
А теперь немного деталей:
pip — это стандартный пакетный менеджер для python. Эта программа должна установить недостающий пакет в Вашем окружении / текущей сессии Google Colab, Kaggle/Jupyter Notebook или ipython.
! — восклицательный знак в интерактивных оболочках применяется для отправки команд не в интерпретатор python, а в shell оболочку. В ней исполняются команды вроде cd, ls, pwd, и в том числе pip. Статья на Хабре про основы работы в shell оболочке
Вы уже сделали 2 правильные вещи — засели за питон и загуглили ошибку. Эти 2 действия определяют программиста. Все что осталось — повторять их достаточно долго, и успех неизбежен. Подпишитесь на наш телеграм, чтобы узнавать о новых материалах — они помогут Вам в освоении новой области.
crypto 1.4.1
crypto provides a simple interface to symmetric Gnu Privacy Guard (gpg) encryption and decryption for one or more files on Unix and Linux platforms. It runs on top of gpg and requires a gpg install on your system. Encryption is performed with the AES256 cipher algorithm. Benchmarks relative to default gpg settings are available for text and binary file mime types.
crypto provides a number of options including automated tar archives of multiple files prior to encryption, portable ASCII armored encryption formatting, and SHA256 hash digest generation for your encrypted files. You can view all available options in the usage documentation or with the —help option.
Tested in cPython 2.7.x, 3.4.x, and pypy 2.6.x (Python version 2.7.9)
Install
Install with pip using the command:
$ pip install crypto
or download the source repository, unpack it, and navigate to the top level of the repository. Then enter:
$ python setup.py install
Upgrade
You can upgrade your crypto version with the command:
$ pip install --upgrade crypto
Usage
Encryption (crypto)
$ crypto path Issue reporting is available on the GitHub repository This is a collection of both secure hash functions (such as SHA256 and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.). The package is structured to make adding new modules easy. This section is essentially complete, and the software interface will almost certainly not change in an incompatible way in the future; all that remains to be done is to fix any bugs that show up. If you encounter a bug, please report it in the Launchpad bug tracker at An example usage of the SHA256 module is: An example usage of an encryption algorithm (AES, in this case) is: One possible application of the modules is writing secure administration tools. Another application is in writing daemons and servers. Clients and servers can encrypt the data being exchanged and mutually authenticate themselves; daemons can encrypt private data for added security. Python also provides a pleasant framework for prototyping and experimentation with cryptographic algorithms; thanks to its arbitrary-length integers, public key algorithms are easily implemented. As of PyCrypto 2.1.0, PyCrypto provides an easy-to-use random number generator: A stronger version of Python’s standard “random” module is also provided: Caveat: For the random number generator to work correctly, you must call Random.atfork() in both the parent and child processes after using os.fork() PyCrypto is written and tested using Python version 2.1 through 3.3. Python 1.5.2 is not supported. The modules are packaged using the Distutils, so you can simply run “python setup.py build” to build the package, and “python setup.py install” to install it. If the setup.py script crashes with a DistutilsPlatformError complaining that the file /usr/lib/python2.2/config/Makefile doesn’t exist, this means that the files needed for compiling new Python modules aren’t installed on your system. Red Hat users often run into this because they don’t have the python2-devel RPM installed. The fix is to simply install the requisite RPM. On Debian/Ubuntu, you need the python-dev package. To verify that everything is in order, run “python setup.py test”. It will test all the cryptographic modules, skipping ones that aren’t available. If the test script reports an error on your machine, please report the bug using the bug tracker (URL given above). If possible, track down the bug and include a patch that fixes it, provided that you are able to meet the eligibility requirements at http://www.pycrypto.org/submission-requirements/. It is possible to test a single sub-package or a single module only, for instance when you investigate why certain tests fail and don’t want to run the whole suite each time. Use “python setup.py test –module=name”, where ‘name’ is either a sub-package (Cipher, PublicKey, etc) or a module (Cipher.DES, PublicKey.RSA, etc). To further cut test coverage, pass also the option “–skip-slow-tests”. To install the package under the site-packages directory of your Python installation, run “python setup.py install”. If you have any comments, corrections, or improvements for this package, please report them to our mailing list, accessible via the PyCrypto website:$ decrypto path
$ crypto --help decrypto --helpFrequently Asked Questions
Issue Reporting
pycrypto 2.6.1
>>> from Crypto.Hash import SHA256 >>> hash = SHA256.new() >>> hash.update('message') >>> hash.digest() '\xabS\n\x13\xe4Y\x14\x98+y\xf9\xb7\xe3\xfb\xa9\x94\xcf\xd1\xf3\xfb"\xf7\x1c\xea\x1a\xfb\xf0+F\x0cm\x1d'
>>> from Crypto.Cipher import AES >>> obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456') >>> message = "The answer is no" >>> ciphertext = obj.encrypt(message) >>> ciphertext '\xd6\x83\x8dd!VT\x92\xaa`A\x05\xe0\x9b\x8b\xf1' >>> obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456') >>> obj2.decrypt(ciphertext) 'The answer is no'
>>> from Crypto import Random >>> rndfile = Random.new() >>> rndfile.read(16) '\xf7.\x838#>\xc6\xc2jJU'
>>> from Crypto.Random import random >>> random.choice(['dogs', 'cats', 'bears']) 'bears'
Installation